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 到无穷多次