grep 練習


練習:

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章