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


12

假设我有一个变量$ str1

str1="20140121-21:48:26|Joanne Frances|"

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

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|

输出应为:

20140121-21:48:26 | Joanne Frances | Perez | 9173046751.000000 | 3月31日|

更新:最后知道问题试图解决的问题echo $str1,它输出的20140121|Adrian Perez|意思是它实际上不在文件中。哈哈!我好乱!-_-


您可以简单地使用grep。例如grep $str filename.txt
mcantsin 2014年

@mcantsin我尝试过,但没有用
joanne_ 2014年

这是什么错误?-没有输出?
mcantsin 2014年

@mcantsin yup没有输出!
joanne_ 2014年

我测试了您的示例,它非常适合我。-确定没有错字吗?
mcantsin 2014年

Answers:


12

用这个:

grep "$str" filename.txt

防止误解特殊字符。

要了解更多信息,请参考以下内容:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.