使用grep在文件中搜索' ='

时间:2017-09-04 14:33:34

标签: bash grep

我可以使用grep搜索文件中的单词,例如:

grep 'total energy' file*

但我无法使用=搜索单词,例如:

grep 'total energy =' file*

为什么呢?上述问题是否有任何解决方案?

1 个答案:

答案 0 :(得分:0)

你必须像这样使用双引号(""

grep "total energy =" /your/file

/your/file替换为文件名。阅读difference between "" and ''

要搜索当前目录中的所有文件,您需要下一个命令

find ./ -type f -exec grep "total energy =" {} \;

这样做首先使用find查找当前目录中的所有文件(./表示当前目录,-type f仅表示文件)。然后执行grep搜索"total energy ="\表示-exec的结尾位置,以防其背后还有其他内容。

如果您只想搜索frame[number].inp之类的文件,可以将正则表达式与find一起使用:

find ./ -regextype posix-extended -regex '.*?\.inp' -exec grep "total energy =" {} \;