从文件中搜索特定文本并输出该行(Shell 脚本)

joa*_*ne_ 12 command-line bash scripts

假设我有一个变量 $str1

str1="20140121-21:48:26|Joanne Frances|"
Run Code Online (Sandbox Code Playgroud)

我想要做的是在文件中搜索该部分。该文件包含,例如:

20140121-21:48:26|Joanne Frances|Perez|9173046751.000000|Mar 31|
20140121-21:50:28|Nikko|Real|9065887272.000000|Mar 21|
20140121-22:22:53|Czarina|Revilla|9999999999.000000|Jan 21|
Run Code Online (Sandbox Code Playgroud)

输出应该是:

20140121-21:48:26|乔安妮弗朗西斯|佩雷斯|9173046751.000000|3月31日|

更新:终于知道问题到底是什么了echo $str1,它的输出20140121|Adrian Perez|意味着它真的不在文件中。哈!我好乱啊!-_-

job*_*bin 12

用这个:

grep "$str" filename.txt
Run Code Online (Sandbox Code Playgroud)

以防止对特殊字符的误解。

要了解更多信息,请参阅此: