grep(global searchregular expression(RE) and print out the line)是一个强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep常用参数及用法
-A
-A : 显示匹配字符串及其后n行的数据
grep -A 5 'ONBOOT' /etc/sysconfig/network-scripts/ifcfg-eth0
显示ifcfg-eth0文件中ONBOOT字符串所在的行和其后5行的数据
-B
-B: 显示匹配字符串及其前n行的数据
grep -B 5 'DNS1' /etc/sysconfig/network-scripts/ifcfg-eth0
显示ifcfg-eth0文件中ONBOOT字符串所在的行和其后5行的数据
-C (大写)
-C :显示匹配字符串及其先后各n行的数据
grep -C 2 'DNS1' /etc/sysconfig/network-scripts/ifcfg-eth0
显示ifcfg-eth0文件中'DNS1'字符串所在的行和其前后2行的数据
-c (小写)
-c: 计算找到要搜索的字符串的次数
grep -c 'o' /etc/sysconfig/network-scripts/ifcfg-eth0
显示查找到搜索的字符串“o”的次数。
-i
-i :不区分大小写
grep -ic 'o' /etc/sysconfig/network-scripts/ifcfg-eth0
显示查找到搜索的字符串“o”的次数(不区分大小写)
-n
-n :对匹配的结果把行号打出来
grep -in 'o' /etc/sysconfig/network-scripts/ifcfg-eth0
显示查找到搜索的字符串“o”的行号及内容(不区分大小写)
-v
-v :反向选择
grep -v 'o' /etc/sysconfig/network-scripts/ifcfg-eth0
显示文件中不包含”o”字符串的行的内容
-E
-E: 过滤多个字符串(也可以用egrep替代)
egrep -c 'o|s' /etc/sysconfig/network-scripts/ifcfg-eth0
或
grep -icE 'o|s' /etc/sysconfig/network-scripts/ifcfg-eth0
查找文件中不区分包含“s”或“o”的内容(不区分大小写)
--color=auto
--color=auto: 可以将匹配的内容加上颜色显示
grep --color=auto 's' /etc/sysconfig/network-scripts/ifcfg-eth0
查找文件中包含“s”字符串的行并将匹配的关键字加上颜色显示