grep大有学问、大有用处啊,平常只用到了它的20%的功能,整理总结一下
1. grep基本用法
grep [-acinv] [--color=auto] [-A n] [-B n] [-C n]'搜寻字符串' 文件名
2. 常用参数
-l:查询多文件时只输出包含匹配字符的文件名。
-L:查询多文件时只输出不包含匹配字符的文件名。
-H: 查询文件时显示文件名。
-h: 查询文件时不显示文件名。
-i:不区分大小写(只适用于单字符)。
-n:显示匹配行及行号。
-c:只输出匹配行的计数。
-v:显示不包含匹配文本的所有行。
-w: 全词匹配
-A: 显示匹配行和后n行
-B: 显示匹配行和前n行
-C: 显示匹配行、前n行和后n行
-r/-R:
--include=FILE_PATTERN 只搜索匹配FILE_PATTERN的文件
--exclude=FILE_PATTERN 忽略匹配FILE_PATTERN的文件和目录
--exclude-from=FILE 忽略所有匹配FILE文件中所指出的FILE_PATTERN的文件和目录
--exclude-dir=PATTERN 忽略匹配PATTERN的目录
3. 与和或
grep pattern1 filename | grep pattern2: 显示既匹配 pattern1 又匹配 pattern2 的行。
egrep '123|abc' filename: 找出文件(filename)中包含123或者包含abc的行
grep -E '123|abc' filename: 效果同上egrep