grep笔记

Posted by Daryl on November 19, 2018

grep

匹配文本

grep将文件中的每一行与一个特定模板进行匹配,打印出搜索结果。

grep [-acinov] [--color=auto] '搜寻字符串' filename
# -a:将binary文件以text文件的方式sou搜索
# -c:统计匹配到的总次数
# -i:忽略大小写
# -n:输出行号
# -o:只输出匹配部分
# -v:反向匹配
# --color=auto:将匹配到的部分高亮
# 提供管道的时候可以不指定filename,直接从管道里读数据

搜索目录

grep '搜寻字符串' *在当前目录搜索能匹配模板的文件 grep -r '搜寻字符串' *递归搜索 grep -lr '搜寻字符串' *递归搜索,且只打印匹配到的文件,不输出行

此外,模板字符串可以是正则表达式
可以指定-E选项或使用egrep命令,增加额外的正则表达式元字符集合
可以指定-F选项或使用fgrep命令,将不使用正则表达式进行纯字符串的匹配

高级/组合用法

  • 统计代码行数 cat filename | grep -v ^$ | wc -l

  • to be continued