正則表達式相關運用作業

1、取本機ip地址

    [root@ali ~]# ifconfig |egrep 'Bcast' |tr -s ' ' '\n' |head -n3 |tail -n1 |cut -d: -f2

blob.png

2、取各分區利用率的數值

    [root@ali ~]# df |egrep '^/dev/sd'

blob.png

3、統計/etc/init.d/functions 文件中每個單詞出現的次數,并按頻率從高到低

    [root@ali ~]# cat /etc/rc.d/init.d/functions |tr -cs '[:alpha:]' '\n' |sort |uniq -c |sort -nr

blob.png4、/etc/rc.d/init.d/functions或/etc/rc.d/init.d/functions/"  取目錄名

    [root@ali ~]# echo "/etc/rc.d/init.d/functions/" |grep -o "[/]\?.*[/]"

blob.png

5、正則表達式表示身份證號

    '[0-9]{15,18}' 134.txt

6、正則表達式表示手機號

    ^[1][0-9][0-9]{9}$

7、正則表達式表示郵箱

    ^[0-9]{9}@[[:alpha:]].*[[:alpha:]]$

8、正則表達式表示QQ號

    [0-9]{9}

9、顯示/proc/meminfo文件中以大小s開頭的行; (要求:使用兩種方式)

    [root@ali ~]# cat /proc/meminfo |grep -i '^[s]'

blob.png

    [root@ali ~]# cat /proc/meminfo |grep  '^[s|S]'

blob.png

10、顯示/etc/passwd文件中不以/bin/bash結尾的行

    [root@ali ~]# cat /etc/passwd |grep -v '/bin/bash'

blob.png

11、顯示用戶rpc默認的shell程序

    [root@ali ~]# cat /etc/passwd |egrep '\<rpc\>' |cut -d: -f7

blob.png

12、找出/etc/passwd中的兩位或三位數

    [root@ali ~]# cat /etc/passwd |grep '\<[1-9][0-9][0-9]\?\>'

blob.png

    [root@ali ~]# cat /etc/passwd |grep '\<[0-9]\{2,3\}\>'

blob.png

13、顯示/etc/grub2.cfg文件中,至少以一個空白字符開頭的且后面存非空白字符的行

    [root@ali ~]# grep '^[[:space:]]*[^[:space:]]' /etc/rc.d/init.d/functions

14、 找出“netstat -tan”命令的結果中以‘LISTEN’后跟任意多個空白字符結尾的行

    [root@ali ~]# netstat -tan |grep 'LISTEN[[:space:]]*$'

blob.png

15、添加用戶bash、 testbash、 basher以及nologin(其shell為/sbin/nologin),而后找

  出/etc/passwd文件中用戶名同shell名的行    

    [root@ali ~]# cat /etc/passwd |grep '^\(.*\).*/\1$'

    [root@ali ~]# grep '^\(.*\).*/\1$' /etc/passwd

blob.png

17、查出分區空間使用率的最大百分比值

    [root@ali ~]# df |grep '/dev/sda' |grep '\<[0-9]*%'

blob.png

18、查出用戶UID最大值的用戶名、 UID及shell類型

    [root@ali ~]# getent passwd |sort -nt: -k3 |cut -d: -f1,3,7 |tail -n1

blob.png

19、查出/tmp的權限,以數字方式顯示

    [root@ali ~]# stat /tmp/ |cut -d: -f2 |head -n4 |tr -d '(' |cut -d/ -f1 |tail -n1

blob.png

    [root@ali ~]# stat /tmp/ |head -n4 |tail -n1 |tr ' ' '\n' |head -n2 |tr -cd '[:digit:]'

blob.png

    [root@ali ~]# stat -c %a /tmp/

blob.png

20、統計當前連接本機的每個遠程主機IP的連接數,并按從大到小排序

    [root@ali ~]# netstat -nt |grep 'tcp' |tr -s ' ' '|' |cut -d'|' -f4 |uniq -c |sort -n

blob.png

21、 顯示三個用戶root、 mage、 wang的UID和默認shell

    [root@ali ~]# egrep '^\<root|mage|wang\>' /etc/passwd |cut -d: -f1,3,7

blob.png

22、找出/etc/rc.d/init.d/functions文件中行首為某單詞(包括下劃線)后面跟一個小括號的行

    [root@ali ~]# cat /etc/rc.d/init.d/functions |egrep '^[[:alpha:]_]+\(\)'

blob.png

23、使用egrep取出/etc/rc.d/init.d/functions中其基名

    [root@ali ~]# echo '/etc/rc.d/init.d/functions' |egrep -o '[^/]+/?$'

blob.png

24、使用egrep取出上面路徑的目錄名

    [root@ali ~]# echo '/etc/rc.d/init.d/functions' |egrep -o '(/.*/)'

blob.png

 25、統計以root身份登錄的每個遠程主機IP地址的登錄次數

    [root@ali ~]# last |egrep "^root\>.*([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}" |tr -s ' ' ':' |cut -d: -f3 |sort |uniq -c

    28 10.1.250.14

    1 172.18.19.209

blob.png

 26、利用擴展正則表達式分別表示0-9、 10-99、 100-199、200-249、 250-255

    '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'

27、顯示ifconfig命令結果中所有IPv4地址

    [root@ali ~]# ifconfig |grep -E -o  '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]

    {2}|2[0-4][0-9]|25[0-5])'

blob.png

原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/30236

(0)
M20-1馬星M20-1馬星
上一篇 2016-08-08
下一篇 2016-08-08

相關推薦

  • Linux“文本三劍客”之grep

    Linux“文本三劍客”之grep grep,Global search REgular expression and Print out the line. 是Linux中常用的文本搜索工具,基于正則表達式(Regular Expression)和文本字符來編寫模式(Pattern),然后根據指定的模式對目標文本逐行進行匹配,打印匹配到的行。 grep工具…

    2018-05-14
  • Linux幫助文件的使用、history變量的使用和FHS

    怎樣利用幫助文件來查詢想要了解的信息? 這里以通過查找幫助文件來修改登陸信息為例子, 登陸的時候,我們可以看到CentOS的的版本和內核信息, 當我們查看該相關文件的時候,會發現,里面的文檔和顯示的不一致,由此可以了解到,該文檔是調用某些參數來實現顯示CentOS的版本和內核信息。 這個時候,我們該怎樣去查看issue文檔的相關信息? 首先我們可以查看一下通…

    Linux干貨 2016-08-04
  • linux內核(kernel)版本號的意義

      在linux下有一個目錄,即/usr/src/kernels/目錄,下面記載著一個linux系統的內核文件, 例如:2.6.18-164.el5-x86_64、2.6.18-8.el5-x86_64和2.6.18-194.el5-x86_64等,這些文件編號意味著什么呢?例如2.6.18代表著什么?el5代表著什么?x86_64又代表著什么? …

    Linux干貨 2016-01-14
  • 詳解Ntbackup的五種備份方式(下)

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/145644 繼續上文。   四、差異備份(Differental Backup)     差異備份是…

    Linux干貨 2015-03-26
  • 第十五周作業

    溫故知新 1、總結sed和awk的詳細用法 sed [OPTION]… ‘script’ [input-file] …script:地址定界編輯命令 常用選項:-n:不輸出模式空間中的內容至屏幕;-e script, –expression=script:多點編輯;-f /PATH/TO/SED_S…

    Linux干貨 2017-12-04
  • N28-第一周

    *計算機的組成以其功能: 當今計算機系統由硬件系統和軟件系統兩大部分組成。硬件系統是指計算機的物理設備,包括CPU,存儲器,輸入/輸出模塊等。軟件系統則是各種程序和數據的集合。 硬件結構的基本構成: 處理器: 用于控制計算機的操作,執行數據處理功能,是計算機硬件的核心。由控制器,運算器和一組寄存器組成。 控制器:負責根據讀入的指令決定計算機的操作 運算器:負…

    2017-12-06
欧美性久久久久