文本三剑客——grep练习

1含有“48”字符串的行的总数

[root@server homework]# grep -c '48' file.txt 4

[root@server homework]# grep '48' file.txt | wc -l 4

2显示含有“48”字符串的所有行的行号

[root@server homework]# grep -n '48' file.txt

3精确匹配只含有“48字符串的行

[root@server homework]# grep -w '48' file.txt
​
[root@server homework]# grep  '\<48\>' file.txt
​
[root@server homework]# grep  '\b48\b' file.txt

4抽取代码为484和483的城市位置

[root@server homework]# egrep '(484|483)' file.txt

5显示行首不是4或8

[root@server homework]# egrep -v ^[^48] file.txt

6显示含有九月份(Sept)的行

[root@server homework]# grep -i 'sept' file.txt 
​

7显示以K开头,以D结尾的所有代码

[root@server homework]# grep '\bK.*D\b' file.txt 

8显示头两个是大写字母,中间至少两个任意,并以C结尾的代码

[root@server homework]# egrep '\b[A-Z]{2,}.{2,}C\b' file.txt 

9查询所有以5开始以1996或1998结尾的所有记录

[root@server homework]# egrep '\b5.*(1996|1998)\b' file.txt 
​

1、显示/etc/rc.d/rc.sysinit文件中以不区分大小的h开头的行;

[root@server homework]# egrep -i '^h' /etc/rc.d/rc.sysinit
egrep'hlH’/etc/rc.d/rc.sysinitegrep '[hH] /etc/rc.d/rc.sysinit
​

2、显示/etc/passwd中以sh结尾的行;

[root@server homework]# egrep 'sh$' /etc/passwd

3、显示/etc/fstab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行;

[root@server homework]# egrep '^#\s+\S*' /etc/fstab 
grep -E'^#[[:space:]]+[[:space:]]' /etc/fstab

4、查找/etc/rc.d/rc.local中包含“以to开始并以to结尾”的字串行;

[root@server homework]# egrep '\bto.*to\b' /etc/rc.local 
[root@server homework]# egrep '\b(to).*\1\b' /etc/rc.local

5、查找/etc/inittab中含有“以s开头,并以d结尾的单词”模式的行;

[root@server homework]# grep -w 's.*d' /etc/inittab 

6、查找ifconfig命令结果中的1-255之间的整数;

[root@server homework]# ifconfig | egrep -wo '[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5]'
​

7、显示/var/log/secure文件中包含“Failed”或“FAILED”的行

​[root@server ~]# grep -iw 'Failed' /var/log/secure

8、在/etc/passwd中取出默认shell为bash

​[root@server ~]# grep -w 'bash$' /etc/passwd

9、以长格式列出/etc/目录下以ns开头、.conf结尾的文件信息

[root@server homework]# ls /etc/ | grep '\bns.*.con\b'

10、高亮显示passwd文件中冒号,及其两侧的字符

[root@server homework]# egrep '.:.' /etc/passwd
​

11、匹配/etc/services中开头结尾字母一样的单词

egrep -o '\b([a-zA-Z]+\b).*\b\1$' /etc/services

你可能感兴趣的:(网络)