1. 多个文件中搜索字符串
语法:grep "string" file_pattern
eg. grep "ats_traintrack" rt21.*
2. 不区分大小写
grep -i "string" FILE3. 匹配正则表达式
grep "regex" filename? * + {n} {n,} {,m} {n,m}
4. 搜索一个单词,而不是子字符串
grep -w "string" filename5. 显示匹配行前后的几行
5.1 显示匹配行前几行grep -B <N> "string" filename
5.2 显示匹配行的后几行
grep -A <N> "string" filename
5.3 显示匹配行周围几行
grep -C <N> "string" filename
5.4 高亮显示搜索到的信息
export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8'
6. 当前目录下递归搜索,(不仅搜索当前目录,而且搜索其子目录)
grep -r "pattern" *7. 搜索不包含某一个字符串或者模式
grep -v "pattern" filename8. 计算匹配/不匹配的行数
grep -c "pattern" filenamegrep -v -c "pattern" filename
9. 显示匹配到字符串的文件名
grep -l "pattern" filename/filename_pattern10. 只显示匹配到的字符串
grep -o "pattern" filename11. 显示匹配到的位置
grep -o -b "pattern" filename12. 显示匹配到的行号.
grep -n "pattern" filename13. grep OR
grep 'pattern1\|pattern2' filenamegrep -E 'pattern1|pattern2' filename
egrep 'pattern1|pattern2' filename
grep -e pattern1 -e pattern2 filename
14. grep AND
grep -E 'pattern1.*pattern2' filenamegrep -E 'pattern1.*pattern2|pattern2.*pattern1' filename
grep -E 'pattern1' filename | grep -E 'pattern2'
15. 字符集
[:digit:] 0-9[:alnum:] 0-9 a-z A-Z
[:alpha:] a-z A-Z
[:blank:] space or tab
常用方法:
经常把字符集放在中括号里面.eg.[[:digit:]]