(1)顯示/proc/meminfo 文件中以大小s 開頭的行;( 要求:使用兩種方式)
[root@centos7 ~]# cat /proc/meminfo | grep -e "^s.*" -e "^S.*" SwapCached: 0 kB SwapTotal: 2097148 kB SwapFree: 2097148 kB Shmem: 13472 kB Slab: 117520 kB SReclaimable: 69404 kB SUnreclaim: 48116 kB [root@centos7 ~]# cat /proc/meminfo | grep -e "^[sS].*" SwapCached: 0 kB SwapTotal: 2097148 kB SwapFree: 2097148 kB Shmem: 13472 kB Slab: 117520 kB SReclaimable: 69404 kB SUnreclaim: 48116 kB [root@centos7 ~]# cat /proc/meminfo | grep -E "^(s|S).*" SwapCached: 0 kB SwapTotal: 2097148 kB SwapFree: 2097148 kB Shmem: 13472 kB Slab: 117520 kB SReclaimable: 69404 kB SUnreclaim: 48116 kB
(2)顯示/etc/passwd 文件中不以/bin/bash 結尾的行
[root@centos7 ~]# grep -v "/bin/bash$" /etc/passwd
(3)顯示用戶rpc 默認的shell 程序
[root@centos7 ~]# grep "^rpc\>.*" /etc/passwd |cut -d: -f 7 /sbin/nologin
(4)找出/etc/passwd 中的兩位或三位數
[root@centos7 ~]# grep -Eo "[1-9][[:digit:]]{1,2}" /etc/passwd //o選項只打印匹配到的內容 12 11 12 100 14 50 99
(5)顯示/etc/grub2.cfg 文件中,至少以一個空白字符開頭的且后面存非空白字符的行
[root@centos7 ~]# grep "^[[:space:]][^[:space:]].*" /etc/grub2.cfg load_video set gfxpayload=keep insmod gzio ……
(6)找出"netstat -tan" 命令的結果中以'LISTEN' 后跟0 、1或多個空白字符結尾的行
[root@centos7 ~]# netstat -tan | grep -e "LISTEN[[:space:]]*$" tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
(7)添加用戶bash 、testbash 、basher 以及nologin( 其shell為 為/sbin/nologin), 而后找出/etc/passwd 文件中用戶名同shell名的行
[root@centos7 ~]# grep -E "(^[[:alnum:]]+).*/\1$" /etc/passwd sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt bash:x:1008:1008::/home/bash:/bin/bash basher:x:1010:1010::/home/basher:/bin/bash
(7)找出/etc/rc.d/init.d/functions 文件中行首為某單詞(包
括下劃線)
grep -e "[[:alpha:]_]*().*" /etc/rc.d/init.d/functions
(8)使用egrep 取出/etc/rc.d/init.d/functions基名,和目錄名:
echo /etc/rc.d/init.d/functions | grep -E "[^/][[:alpha:]]+$" -o echo /etc/rc.d/init.d/functions | grep -E "[[:alpha:]/]+.*/" -o
(9)利用擴展正則表達式分別表示0-9 、10-99 、100-199、 、
200-249 、250-255
[root@cnode6_8 ~]# grep -we "[[:digit:]]\{1,1\}" a.log //0-9 0 1 2 22 34 4 5 10 11 111 23 100 123 234 244 250 10000 999 [root@cnode6_8 ~]# grep -we "[1-9][[:digit:]]" a.log //10-99 01 0 1 2 22 34 4 5 10 11 111 23 100 123 234 244 250 10000 999 [root@cnode6_8 ~]# grep -we "1[[:digit:]][[:digit:]]" a.log //100-199 [root@cnode6_8 ~]# grep -we "2[0-4][[:digit:]]" a.log //200-249 [root@cnode6_8 ~]# grep -we "25[[0-5]]" a.log
(10)顯示ifconfig命令結果中ipv4地址
[root@cnode6_8 ~]# ifconfig| grep 'inet\>'|cut -d: -f2|tr -s " " |cut -d " " -f1
統計/etc/rc.d/init.d/function中單詞出現的次數
cat /etc/rc.d/init.d/functions |tr -c "[[:alnum:]]" "\n"|tr "[]" "\n"|tr -s "[[:space:]]"|sort |uniq –c
(11)用正則表達式表示手機號11 13 17 15 18
grep -e "1[13578][[:digit:]]\{9\}[^[:digit:]]
用正則表達式表示身份證號18
[root@centos7 ~]# grep -E "\<[1-9][[:digit:]]{16}[[:digit:]x]\>" aa 123456789012345678
(12)用正則表達式表示郵箱
[root@centos7 ~]# grep -E "\<[[:alnum:]_]{1,16}@[[:alnum:]]{1,20}.com" mail_test.txt
原創文章,作者:jack_cui,如若轉載,請注明出處:http://www.www58058.com/30110