三剑客练习题

--------------------------练习
正则表达式及字符处理
1使用grep显示出/usr/share/dict/words文件中,例如显示出所有含有fish的行:
grep ‘fish’ words
2使用grep显示出/usr/share/dict/words文件中,输出任何包含fish的所有行,还要输出紧接着这行的上下各两行的内容:
grep -C 2 ‘fish’ words
3. 使用grep显示出/usr/share/dict/words文件中,来显示出在words文件中有多少行含有fish。
grep -c ‘fish’ words
4.使用grep显示出/usr/share/dict/words文件中,显示出那些行含有fish,并将行号一块输出,看一看starfish在哪行
grep -n ‘fish’ words |grep ‘starfish’
5.想列出/usr/share/dict/words中包含先有字母t然后有一个元音字母,之后是sh的单词,命令为
grep -E ‘^t[a|o|e|i|u|v]sh.’ words
6.在/usr/share/dict/words文件中,创建可以符合abominable,abominate,anomie和atomize的正则表达式,但是不要选到别的单词
grep -wE ‘abominable|abominate|anomie|atomize’ words
7.在/usr/share/dict/words文件中包含多少先有字母t然后有一个元音字母,之后是sh的单词,只输出数量
grep -cE '^t[i|o|e|o|u]sh.
’ words
8.列出/usr/share/dict/words中刚好包含16个字母的单词
grep -c 16 words
9.我们将要使用/usr/share/doc文件夹来完成我们的下几个任务
列出/usr/share/doc/bash-* 文件夹中,所有包含单词expansion的文件
find /usr/share/doc/bash-*|grep expansion

10.显示出“Linux”在/usr/share/doc/bash-2.05b文件夹的文件中出现的次数
ip a 把IP用正则过滤出来

egrep -o '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' ip.txt 



egrep '\<[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\>(\.\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\>){3}'


egrep -o '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' ip.txt |egrep '\<[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\>(\.\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\>){3}'

2 . 电子邮件 过滤出来.
cat mail |egrep [a-z0-9_]+@[a-z0-9]+.[a-z]{1,3} && echo 1 ||echo 2

--------------------------------------------awk

练习

打印uid在30~40范围内的用户名。
awk -F ":" '$3>30 && $3<40 {print $1}' shadow
打印第5-10行的行号和用户名
awk -F ":" 'NR>=5 && NR<=10 {print $1,NR}' shadow
打印奇数行
awk -F ":" 'NR%2!==0 {print $1,NR}' shadow
打印偶数行
awk -F ":" 'NR%2==0 {print $1,NR}' shadow
打印字段数大于5的行
awk -F ":" 'NF>5 {print $0}' shadow
打印UID不等于GID的用户名
awk -F ":" '$3 != $4 {print $1}' shadow
打印没有指定shell的用户
awk -F ":" '$NF!="/bin/bash" {print $1}' passwd
打印1..1000以内的7的倍数和包含7的数
 seq 1000 |awk '$1%7 == 0 || $1~/7/'

sed

sed -nr ‘1,5 s/^/#/p’ anaconda-ks.cfg

Guess you like

Origin blog.csdn.net/qq_46495338/article/details/120560332