正則表達式練習題

練習一:

1、顯示/proc/meminfo文件中以不區分大小的s開頭的行;

   grep -i 's' proc/meminfo或者grep '^[sS]' proc/meminfo  

2、顯示/etc/passwd中以nologin結尾的行; 

   grep "\<nologin\>$" /etc/passwd 或者 grep "\bnologin\b$" /etc/passwd 或者 grep "nologin$" /etc/passwd

   取出默認shell爲/sbin/nologin的用戶列表

   grep 'nologin' /etc/passwd | cut -d: -f1

   取出默認shell爲bash,且其用戶ID號最小的用戶的用戶名

   grep 'bash' /etc/passwd | cut -d: -f3 | sort -n | head -1

3、顯示/etc/inittab中以#開頭,且後面跟一個或多個空白字符,而後又跟了任意非空白字符的行;

   grep '^#[[:space:]]\{1,\}[^[:space:]]' /etc/inittab 

4、顯示/etc/inittab中包含了:一個數字:(即兩個冒號中間一個數字)的行;

   grep ":[0-9]:" /etc/inittab

5、顯示/boot/grub/grub.conf文件中以一個或多個空白字符開頭的行;

   grep '[[:space:]]\{1,\}' /boot/grub/grub.conf

6、顯示/etc/inittab文件中以一個數字開頭並以一個與開頭數字相同的數字結尾的行;

   grep '^\([0-9]\).*\1$' /etc/inittab

練習二:

1、找出某文件中的,1位數,或2位數;

   grep '\<[0-9]\{1,2\}\>' /proc/cpuinfo


2、找出ifconfig命令結果中的1-255之間的整數;

   ifconfig | egrep "[1-9]|[1-9][0-9]|[1-2][0-4][0-9]|25[0-5]"


3、查找ifconfig結果主機IP地址:

    ifconfig | grep -E "(\<[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|[22[0-3]]\>)\.(\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){2}\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>"


4、查找當前系統上名字爲student(必須出現在行首)的用戶的帳號的相關信息, 文件爲/etc/passwd

   grep '^\<student\>' /etc/passwd 


   

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