Linux 输出过滤器:grep 命令 1 个改进

grep 命令的意思是 「global regular expression print」。grep 命令用来过滤文件的内容,方便搜索。

带管道符的 grep搜索命令

grep 命令通常和管道符 (|) 一起使用。

语法:

command | grep <searchWord>  

例如:

cat marks.txt | grep 9  

Linux Grep Filters1

通过查看上面的快照,grep 命令过滤 mark.txt 里面所有包含 9 的数据。


不带管道符的 grep 搜索

grep 命令也可以不和管道符一起使用。

语法:

grep <searchWord> <file name>  

例如:

grep 9 marks.txt  

Linux Grep Filters2

观察上面的截图,grep 命令实现了和上一个例子一样的功能,但是没有使用管道符。


grep 命令选项

  • grep -vMgrep -v 命令显示不包含指定内容的行。

语法:

grep -v <searchWord> <fileName>  

例如:

grep -v 9 marks.txt  

Linux Grep Filters3

观察上面的截图, 命令 "grep -v 9 marks.txt" 展示了不包含搜索词 9 的行。

  • grep -i : 'grep -i' 命令不区分搜索词的大小写。

语法:

grep -i <searchWord> <fileName>  

例子:

grep -i red exm.txt  

Linux Grep Filters4

看上面的截图, 命令 「grep -i red exm.txt」 用于显示所有包括忽略大小写 'red' 的行。

  • grep -A/ grep -B/ grep -C

    grep -A 命令用于显示 搜索行 + 搜索行后面的行

    grep -B 命令用于显示 搜索行前面的行 + 搜索行

    grep -C 命令用于显示 搜索行前面的行 + 搜索行 + 搜索行前面的行

    你可以使用(A1, A2, A3.....)(B1, B2, B3....)(C1, C2, C3....) 去代表任意行数。

语法:

grep -A<lineNumber> <searchWord> <fileName>  
grep -B<lineNumber> <searchWord> <fileName>  
grep -C<lineNumber> <searchWord> <fileName>  

例子:

grep -A1 yellow exm.txt  
grep -B1 yellow exm.txt  
grep -C1 yellow exm.txt  

Linux Grep Filters5

看上面的截图,命令 「grep -A1 yello exm.txt」 用于显示搜索到的行和下一行,命令 「grep -B1 yello exm.txt」 用于显示前一行和搜索到的行,命令 「grep -C1 yello exm.txt」 用于显示前一行、搜索到的行、后一行。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!