grep搜索文本

正则匹配:

grep -E "[a-z]+"

只输出匹配到的文本:

echo this is a line. | grep -o -E "[a-z]+\."

统计匹配到的行数:

grep -c 

匹配之外的行:

grep -v

多级目录中递归搜索:

grep  "text" . -R -n

忽略大小写:

grep -i

匹配多个样式:

grep -e "this" -e "line"

grep中包括货排除文件:

grep "main()" . -r --include *.{c,cpp}

grep "main()" . -r --exclude "README"

删除grep出的文件:(xargs -0表示以0值结尾的,防止有些文件名中有空格,被当作两个文件名)

grep "test" file* -lz |xargs -0 rm

静默输出:

grep -q

打印匹配文本之前货之后的行:

seq 10 | grep 5 -A 3     //之前

seq 10 | grep 5 -B 3  //之后

seq 10 | grep 5 -C 3  //前后

 

摘自:《Linux Shell 脚步攻略》

posted @ 2014-03-09 10:40  good90  阅读(711)  评论(0编辑  收藏  举报