練習:
1、顯示/proc/meminfo文件中以不區分大小的s開頭的行;
# grep "^[Ss]" /proc/meminfo
2、顯示/etc/passwd中以nologin結尾的行;
取出默認shell爲/sbin/nologin的用戶列表
取出默認shell爲bash,且其用戶ID號最小的用戶的用戶名
# grep "/bin/bash$" /etc/passwd | sort -n -t: -k3 | head -1 | cut -d: -f1
grep "/bin/bash$" /etc/passwd |
3、顯示/etc/rc.d/rc.sysinit中以#開頭,且後面跟一個或多個空白字符,而後又跟了任意非空白字符的行;
[[:space:]], [^[:space:]]
^#[[:space:]]\{1,\}[^[:space:]]
^[[:space:]]*#[[:space:]]\{1,\}[^[:space:]]
4、顯示/etc/rc.d/rc.sysinit中符合形爲“任意單個字符n任意字符任意單個字符n”模式的行;即任意單個字符後面跟了個n,n後面有任意長度的任意字符,而後是任意單個字符後面跟了個n;
.n.*.n
顯示/etc/rc.d/rc.sysinit中符合形爲“任意單個字符n任意字符任意單個字符n”模式的行;即任意單個字符後面跟了個n,n後面有任意長度的任意字符,而後是任意單個字符後面跟了個n,但後面的n之前的字符要與前面的n之前的字符相同;
\(.n\).*\1
5、顯示/boot/grub/grub.conf文件中以一個或多個空白字符開頭的行;
^[[:space:]]\{1,\}
練習:
1、找出某文件中的,1位數,或2位數;
grep -w "[0-9]\{1,2\}"
grep "\<[0-9]\{1,2\}\>"
2、找出ifconfig命令結果中的1-255之間的整數;
ifconfig | grep --color=auto -E "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"
寫一個模式,能匹配真正意義上的IP地址;
1.0.0.1 ~ 223.255.255.254
100-199: 1[0-9][0-9]
200-249: 2[0-4][0-9]
250-255: 25[0-5]
3、查找當前系統上名字爲student(必須出現在行首)的用戶的帳號的相關信息, 文件爲/etc/passwd
# grep "^student:" /etc/passwd