8.5文本处理工具

  1. 取本机ip地址

    利用head命令取行首两行,tail命令取行尾一行,

    ifconfig |head -2 |tail -1

    1470621084369874.png

  利用tr -s命令替换空格为“:”,并合并重复的“:”。利用cut -d:-f3命令,保留以“:”为分割符的第三部分

  ifconfig |head -2 |tail -1 |tr -s " " ":" |cut -d: -f3


  1470621622227544.png

2. 取各分区利用率的数值

  利用tr -s命令将df文件的分隔符空格替换并合并重复

   [root@localhost ~]# df |tr -s " " ":" 

  1470622440777543.png 

  利用cut -d命令选择以“:”为分隔符的第5列,利用tr-d命令删除文件中的“%”

  [root@localhost ~]# df |tr -s " " ":" |cut -d: -f5 |tr -d %


  1470622809825469.png

3. 统计/etc/init.d/functions 文件中每个单词出现的次数,并按频率从高到低显示

  用tr -cs命令显示文件中全部以字母组成的字符串,并换行

  ~]# cat /etc/init.d/functions | tr -cs "[:alpha:]" "\n"


  1470626429160291.png

  

  用“sort”命令对文件进行排序,“unip -c”显示每行重复数  “sort -nr”进行逆排序

  ~]# cat /etc/init.d/functions |sort |unip -c |sort -nr


  1470627014277321.png 

  

4. /etc/rc.d/init.d/functions或/etc/rc.d/init.d/functions/"  取目录名


  用正则表达式“egrep -o”命令,仅显示匹配到的自负串


  ~]# echo /etc/rc.d/init.d/functions |egrep -o "/.*/"


  1470645785872932.png


5. 正则表达式表示身份证号 .

  新建一文件zhou 用"egrep"命令0-9开头,17位数字字符,1位数字或字母任意字符结尾的字符串


  [root@localhost ~]# cat /testdir/zhou |egrep "\<[0-9]{17}[[:alnum:]]\>"


   1470649286978603.png

6. 正则表达式表示手机号

  [root@localhost ~]# cat /testdir/zhou |egrep "\<1[0-9]{9}[[:digit:]]\>" 


  1470650447343273.png

7. 正则表达式表示邮箱

 [root@localhost ~]# egrep "^([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"

  1470651059584222.png

8. 正则表达式表示QQ号

   [root@localhost ~]# egrep "\<[1-9][0-9]{4,11}\>"

  

  这个题qq号和手机号分不开,待解决,有11位的QQ号和手机号是一样的

   

  

原创文章,作者:191095336,如若转载,请注明出处:http://www.178linux.com/30951