Shell三剑客之grep-21道练习题

#1)输出 b 文件中在 a 文件相同的行
grep -f a b

#2)输出 b 文件中在 a 文件不同的行
grep -v -f a b

#3) 匹配多个模式
echo "a bc ed" | xargs -n 1 | grep -e 'a' -e 'ed'

#4)去除 http.conf 文件空行或开头#号的行
grep -E '^#|^$' /etc/httpd.d/conf/httpd.conf

#5) 匹配开头不分大小写的单词
echo "A b a c R" | xargs -n 1 | grep -i '^a'

#6)只显示匹配的字符串
echo "marry harry lucy baby" | xargs -n 1 | grep -o 'arr'

#7)输出匹配的前五个结果
seq 1 10 | grep -m 5 '[0-9]'

#8)统计匹配多少行
seq 1 20 | egrep -c '[0-9]+'

#9) 匹配 b 字符开头的行
echo "babyyoucanfly ohnoyouare heiheishide" | xargs -n 1 | grep '^b'

#10) 匹配 de 字符结尾的行并输出匹配的行号
echo "babyyoucanfly ohnoyouare heiheishide" | xargs -n 1 | grep -n 'de$'

#11) 递归搜索/etc 目录下包含 ip 的 conf 后缀文件
grep -r '192.168.1.20' /etc/ --include *.conf

#12) 排除搜索 bak 后缀的文件
grep -r '192.168.1.20' /etc/ --exclude *.bak

#13) 排除来自 file 中的文件
grep -r '192.168.1.20' /etc/ --exclude-from file

#14) 匹配 41 或 42 的数字
seq 41 45 | grep '4[12]'

#15) 匹配至少 2 个字符
echo "hello world hi earth o" | xargs -n 1 | grep -E '\w{2,}'

#16) 匹配至少 2 个字符的单词,最多 3 个字符的单词
echo "A hi hello world okk" | xargs -n 1 | grep -E -w '\w{2,3}'

#17) 匹配所有 IP
ifconfig | grep -E -o '([0-9]{1,3}\.){3}[0-9]{1,3}'

#18) 打印匹配结果及后 3 行
seq 1 10 | grep 5 -A 3

#19) 打印匹配结果及前 3 行
seq 1 10 | grep 5 -B 3

#20) 打印匹配结果及前后 3 行
seq 1 10 | grep 5 -C 3

#21) 不显示输出
      不显示错误输出:
grep -s 'aaaa' /etc/fstab

      不显示正常输出:
grep -q 'aaaa' /etc/fstab

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值