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