我可以使用grep
搜索文件中的单词,例如:
grep 'total energy' file*
但我无法使用=
搜索单词,例如:
grep 'total energy =' file*
为什么呢?上述问题是否有任何解决方案?
答案 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 =" {} \;