Grep命令使用实例
查找字符串
在文件中查找字符串:data one
1 grep 'data one' debug.txt
查找多个字符串
您也可以使用grep查找多个单词或字符串。您可以使用-e开关指定多个模式。让我们尝试在文本文档中搜索两个不同的字符串:
1 grep -e 'data one' -e 'two' debug.txt
显示之前和之后的行
如果需要更多grep输出上下文,可以使用-c开关在指定的搜索字符串前后显示一行:
1 $ grep -c 1 string filename
对结果进行排序
将grep的输出传递给sort命令,以按某种顺序对结果进行排序。默认为字母顺序。
1 $ grep string filename | sort
带行号的Grep
要显示搜索字符串所在的行数,请使用-n开关。
1 $ grep -n string filename
Grep和替换
传递给sed的grep命令可用于替换文件中字符串的所有实例。此命令将在相对于当前工作目录的所有文件中将“ string1”替换为“ string2”:
$ grep -rl 'string1' ./ | xargs sed -i 's/string1/string2/g'
使用正则表达式
通过使用正则表达式进一步扩展了Grep的功能,从而使您的搜索更加灵活。存在几种,在下面的示例中,我们将介绍一些最普通的:
[]括号用于匹配一组字符中的任何一个。
# 方法一:[]括号用于匹配一组字符中的任何一个。 grep "Class [123]" Students.txt # 方法二:带连字符的[-]括号可用于指定数字或字母字符范围。 grep "Class [1-3]" Students.txt 输入的结果: 此命令将返回任何显示“ Class 1”,“ Class2”或“ Class 3”的任何行。 #^脱字符号用于搜索只出现在行的开头的模式。 grep“ ^ Class” Students.txt #带方括号的脱字符号用于从搜索模式中排除字符。 grep "Class [^1-2]" Students.txt
Grep在多个相似的文件中过滤信息
比如:需要在某个路径下的多个文件内过滤一些关键信息
grep "max kafka" incident*log
本文来自博客园,作者:术科术,转载请注明原文链接:https://www.cnblogs.com/shukeshu/p/16108310.html