拓展正则表达式命令总结

  筛选 IP 地址

[root@localhost script]# ifconfig | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'

192.168.0.210

192.168.0.255

255.255.255.0

127.0.0.1

255.0.0.0

[root@localhost script]# ifconfig | grep -oP '(\d+\.){3}\d+' 

192.168.0.210

192.168.0.255

255.255.255.0

127.0.0.1

255.0.0.0


某个单词出现的次数(不能用-c 的原因的是一行可能存在多个the)
[root@gc1: /root/scripts]$ grep -o "the" regular_express.txt |wc -l



找出带时间戳的文件


点击(此处)折叠或打开

  1. [rootgc1:/root/scripts]$ ls | grep ".*[0-9]\{8\}\.txt"
    [rootgc1:/root/scripts]$ ls | grep -oP ".*[0-9]{8}\.txt"
    [rootgc1:/root/scripts]$ ls | egrep ".*[0-9]{8}\.txt"
    241873413.txt
    351_TM02_PSNWPDPEVENT2015030914552207.txt
    adad241873413.txt
    adsfa42241873413.txt
    datong20140408234.txt




sed -r拓展用法
此处的-r与egrep  "(dd)" test.txt 一样。。,,如果不添加-r  那么()都是需要转义的如:
如下例
[rockfall@tmp]$echo "aaa bbb "|sed -r 's/(.)/A/'
Aaa bbb 
[rockfall@tmp]$echo "aaa bbb "|sed  's/(.)/A/'
aaa bbb 
[rockfall@tmp]$echo "aaa bbb "|sed  's/\(.\)/A/'
Aaa bbb



截取文件名 不要拓展名

  1. [root@gc1: /root/scripts]$ echo 988dsad.rar|sed -r 's/(.*)(\..*)/\1/'
    988dsad
    [root@gc1: /root/scripts]$ echo 988dsad.rar|sed -r 's/(.*)(\.)(.*)/\1/'
    988dsad

截取文件名 从文件名的第一位开始到第一个数字结束
echo datong20140408234.txt |sed -r 's/^([a-z]*)([0-9]*).*/\1/'    


截取文件名或者后缀名
  1. % 和# 非贪婪操作:它找出匹配通配符的最短的结果删除
  2. [root@bogon 2742OS_02_Code]# file_jpg="sample.jpg";
    [root@bogon 2742OS_02_Code]# echo ${file_jpg%.*}   %表示从右到左,所以删除了.jpg
    sample
    [root@bogon 2742OS_02_Code]# echo ${file_jpg#*.}   #表示从左到右,所以删除了sample.
    jpg
    [root@bogon 2742OS_02_Code]# file_jpg="sample.jpg.sadf";echo ${file_jpg%.*}
    sample.jpg
    [root@bogon 2742OS_02_Code]# file_jpg="sample.jpg.sadf";echo ${file_jpg#*.}
    jpg.sadf
  3. %%与##:贪婪:它找出匹配通配符的最长的结果删除
  4. [root@bogon 2742OS_02_Code]# file_jpg="sample.jpg.sadf";echo ${file_jpg%%.*}
    sample
    [root@bogon 2742OS_02_Code]# file_jpg="sample.jpg.sadf";echo ${file_jpg##*.}
    sadf








截取子字段(截取table_name或者tablename)
  1. [H]table_name_2015042318.00.cvs
    [H]tablename_201504032.00.cvs
    [H]table_name_20150402138.00.cvs
    [rootgc1:/root/scripts]$ more file|grep -oP "(?<=]).*(?=_[0-9].*)"
    tablename
    table_name

统计某一类型的文件的大小
[root@iZ257l556beZ mysql]# du -sch `find ./ -name "*.MYI"`
4.0K    ./proc.MYI
4.0K    ./user.MYI
8.0K    ./tables_priv.MYI
4.0K    ./columns_priv.MYI
8.0K    ./db.MYI
4.0K    ./procs_priv.MYI
4.0K    ./func.MYI
4.0K    ./ndb_binlog_index.MYI
8.0K    ./proxies_priv.MYI
4.0K    ./event.MYI
52K     total




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-1680399/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29096438/viewspace-1680399/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值