1 2 3 4 5 6 7 8 |
命令行参数: grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, grep -l pattern files :只列出匹配的文件名, grep -L pattern files :列出不匹配的文件名, grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), grep -C number pattern files :匹配的上下文分别显示[number]行, grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 |
grep pattern1 | pattern2 files即grep多个pattern的方法。
但是'|'在linux的shell里起管道符作用,所以在bash/csh里,shell会把pattern2当命令看待,这样就会报错。
正确方法可以是:
grep 'pattten1\|pattern2' files
另外还有种写法:
grep -e 'pattern1' -e 'pattern2' -e 'pattern3’ files
grep -v ‘aaa’ 加上-v 可排除’aaa'
1 2 3 |
man grep -v, --invert-match Invert the sense of matching, to select non-matching lines. |