我正在尝试在/ var / log目录中find一些关键字,所以使用
cd / var / log cat * | grep 关键字
我发现这个string在那个目录下,看到它所在的行,但不知道它来自哪个文件。 我怎样才能findstring,并看到它的猫的文件?
grep
可以把文件名作为参数。
cd /var/log grep keyword *
而且,如果您一次从多个文件进行grep,那么该行所来自的文件名将与所find的行一起打印。
如果你只提供一个文件名给grep,但是你想在文件上显示这个文件名,那么把-H
选项传递给grep – 如果你在命令行中使用globbing(例如*.txt
)知道有多less文件将被search)。
如果你想显示行号,那就是-n
选项。
find /var/log -type f | xargs grep -H
要么
find /var/log -type f -name \*log | xargs grep -H
或者(比xargs慢得多)
find /var/log -type f -exec grep -H {} \;
对于奖励积分,grep -i会使search不区分大小写(但速度较慢)