简介
Linux grep命令是一种非常常用的文本搜索工具,它可以在给定的文件中搜索匹配的字符串,并输出匹配的行。grep是全称“global search regular expression print”,可以识别正则表达式,并使用正则表达式进行搜索。
选项
以下是 grep 的所有选项:
grep [options] [pattern] [files]
以上是 grep 命令的所有选项,更多信息可以使用 man grep 在终端中查看。
常用grep选项举例
下面是常用的grep选项及其举例:
搜索指定字符串
可以使用grep搜索包含指定字符串的文件或文件夹,例如:
grep "hello" file.txt
grep "hello" folder/file.txt
搜索多个字符串
使用-E选项可以在同一行中搜索多个字符串。
grep -E "hello|world" file.txt
忽略大小写
使用-i选项可以忽略大小写的差异。
grep -i "hello" file.txt
输出行号
使用-n选项可以输出匹配字符串所在行的行号。
grep -n "hello" file.txt
反向搜索
使用-v选项可以输出不包含指定字符串的行。
grep -v "hello" file.txt
搜索某个范围内的行
使用 -A, -B, 或-C选项搜索特定范围内的行。
grep -A 2 "hello" file.txt
grep -B 2 "hello" file.txt
grep -C 2 "hello" file.txt
搜索整个单词
使用-w选项可以搜索指定单词作为整个单词匹配。
grep -w "hello" file.txt
统计匹配次数
使用-c选项可以统计匹配字符串的个数。
grep -c "hello" file.txt
搜索指定文件类型
使用通配符可以搜索特定类型的文件或使用 --include选项来仅搜索指定文件类型。
grep "hello" *.txt
grep "hello" --include "*.txt" folder/
grep -r "hello" folder/
grep -R "hello" folder/
不忽略二进制文件
使用-a选项可以强制grep搜索二进制文件。
grep -a "hello" binary_file.bin
grep -r "hello" folder/ --exclude-dir=log/
搜索特定行数
使用 -m 选项指定只搜索文件中的前几行。
grep -m 10 'hello' file.txt
输出匹配字符串前后的内容
使用 -o 选项仅输出匹配字符串,而 -A 和 -B 选项可以输出字符串前后的内容。
grep -o 'hello' file.txt
grep -A 3 'hello' file.txt
grep -B 2 'hello' file.txt
显示不匹配行
使用 -L 选项输出不匹配指定字符串的行。
grep -L 'hello' file.txt
显示匹配行前几行和后几行的内容
使用 -C 选项,可以同时输出匹配字符串前后几行的内容。
grep -C 2 'hello' file.txt
搜索多个文件
可以一次性搜索多个文件。
grep 'hello' file1.txt file2.txt file3.txt
搜索时忽略空白字符
使用 -w 选项,可以忽略匹配字符串前后的空格、制表符等空白字符。
grep -w 'hello' file.txt
搜索时查看匹配字符串的上文或下文
使用 -B 和 -A 选项,可查看匹配字符串上下文的内容。
grep -B 2 'hello' file.txt
grep -A 3 'hello' file.txt
以上就是grep的所有功能举例。
链接:https://www.cnblogs.com/LanTianYou/p/17359397.html
(版权归原作者所有,侵删)