Linux命令三剑客之Grep

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)

grep [-acinv] [--color=auto] '匹配字符串' filename

-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算匹配次数
-i :忽略大小写的不同
-n :输出行号
-v :反向选择,no match
--color=auto :高亮匹配到的关键字
-A2 : 顺便显示匹配字符串下两行
-B2 : 顺便显示匹配字符串上两行
-2 : 顺便显示匹配字符串上下两行

grep 可以使用 --color=auto 来将关键字部分使用颜色显示
~/.bashrc

alias grep='grep --color=auto'
grep 'search_pattern' *  #当前目录中搜索
grep -r 'search_pattern' *  #当前目录及其子目录中搜索
grep -l -r ‘search_pattern’ * #当前目录及其子目录中搜索,不显示匹配行,只显示匹配的文件

grep 与正则表达式

[] 里不论几个字母,只匹配一个字母

grep -n 't[ea]st' 

字符类的反向选择 [^] , 想要匹配带有oo的行,但不想要oo前面有g

grep -n '[^g]oo' regular_express.txt

匹配行首,行尾

grep -n '^the' regular_express.txt # ^匹配行首,$匹配行尾
grep -n '^$' regular_express.txt #匹配空白行

. (小数点): 代表一定有一个任意字母 !
*(星号):重复前一个字母,0 到无穷多次

你可能感兴趣的:(Linux命令三剑客之Grep)