文章目录

http://man.linuxde.net/grep

支持BRE+ERE(-E)

常用通配符: [! - , ? *]

# pattern: 只能使用正则
# -E: 可不转义特殊符号
# files: 只能使用通配符; *表示所有文件(包括目录)
# --C 2: 带上前后各2行  -i:忽略大小写  -n:顺便输出行号
# -c: 输出匹配的行数而不是结果  -l:不显示匹配的行而只显示匹配的文件!
# -r: 明确要求递归搜索子目录   -d:忽略子目录,不然搜索时碰到目录就会烦人的提示.
# -w: 只显示全字符合的        -H:显示匹配到的文件名称 -h:隐藏文件名
# -E: 无需对正则表达式中的(进行转义!  -v:取反
# -F: 不解析正则字符,这是一个 fixed-string!
grep [options] pattern [files]

demo

  # 于当前目录下所有的txt及ini文本内搜索所有包含'abcabc'的行,排除以井号开头的行
  grep -Er -v "^#" (abc){2} *.txt *.ini
  grep --color=auto -rinH -C 2 --include=*.{cpp,h,sql} --exclude-dir={bin,res} --exclude=*.cmd .
  grep -E 'A|B' a.log|grep 'disc'|awk -F 'splitstr' '{print $2}'|cut -d ',' -f 1|sort -nr|uniq -c|sort -nrk 1

  # 将截取的item赋值给变量$var1和$var2
  eval $(echo "aa:bb" | awk -F':' '{print "var1="$1";var2="$2}')
  egrep 'you are|read more' file  # 速度比较慢

  # 删除'python proxyPool...'开始的python进程!
  ps aux|grep proxyPool|grep -v grep|cut -c 9-17|sort -nr|uniq|xargs kill -9