系统通配符号:借助通配符号 匹配文件名称信息
找寻以old开头的文件
find /oldboy -type f -name "old*"找寻以.txt结尾的文件
find /oldboy -type f -name "*txt"找寻以old开头,txt结尾的文件
find /oldboy -type f -name "old*txt"echo{01..03} echo {01..06..2} echo {01,03,05} 不同序列信息,可以进行组合echo A{A,B} echo A{A,} echo A{,B}在这里,可以用序列组合来进行快速备份数据,快速还原数据。
系统正则符号:借助正则符号 匹配文件内容信息基础正则符号:grep sed awk识别扩展正则符号:grep -E、egrep、sed -r、awk、grep '\扩展正则符号'
以下命令执行所需环境cat >> oldboy.txt <<EOFI am oldboy teacher!I teach linux.
I like badminton ball ,billiard ball and chinese chess!my blog is http://oldboy.blog.51cto.comour site is http://www.etiantian.orgmy qq num is 49000448.
not 4900000448.my god ,i am not oldbey,but OLDBOY!EOF
匹配一个字符并且一个字符一行显示出来
.*具有贪婪匹配,会匹配命令里所有m-g的内容,如第一条命令执行的结果。第二条命令在g后面空格,给予限制,所以第二条执行结果会是m-g空格的内容。
将没有意义的字符信息,变成有意义的信息:\t: 制表符 \n: 换行符 \r: 换行符
echo -e "oldboy01\noldboy02" ### \n: 换行符-v:命令取反意思 ^$:空行 ^#:以#开头显示oldboy信息或者oldbey信息
grep -E "oldb(o|e)y" oldboy.txt替换修改文件内容,后项引用前项
echo 123456|sed "s#123456#<123456>#g" echo 123456|sed -r "s#(.*)#<\1>#g"(.):匹配之前echo 123456的结果。也就是123456\1:取用之前(.)的内容
echo 123456|sed -r "s#(.)(.)(.)(.)(.)(.)#\1#g" echo 123456|sed -r "s#(.)(.)(.)(.)(.)(.)#\1\2#g" echo 123456|sed -r "s#(.)(.)(.)(.)(.)(.)#<\1>\2\3\4\5\6#g"{n,m} :匹配前一个字符连续最少出现n次 最多出现m次grep -E "0{3,5}" oldboy.txt :匹配0连续出现的次数grep -E "0{3,5}" oldboy.txt -o -o:显示命令执行过程{n} :匹配前一个字符连续正好出现n次grep -E "0{3}" oldboy.txt 匹配0连续出现3次{n,}:匹配前一个字符连续最少出现n次,最多出现次数没有限制grep -E "0{2,}" oldboy.txt 匹配0最少2次,最多没有限制grep -E "0{2,}" oldboy.txt -o{,m}:匹配前一个字符连续最少出现0次,最多出现次数m次grep -E "0{,4}" oldboy.txt
*:匹配前一个字符连续出现0次或者多次+:匹配前一个字符连续出现1次或者多次?:匹配前一个字符连续出现0次或者1次正则匹配信息:(1)具有贪婪匹配特性:(2)过滤时显示的信息不正确grep过滤信息,过滤信息外面使用双引号sed awk过滤信息,过滤信息外面使用单引号
1、获取ip地址 ip address show eth0 =ip a s eth02、定位显示ip地址的信息行 ip a s eth0|sed -n '3p' 3、取出指定ip指定信息 ip a s eth0|sed -n '3p'|sed -r "s#^.t (.)#\1#g"ip a s eth0|sed -n '3p'|sed -r "s#^.t (.)#\1#g"|sed -r 's#(.)/24.$#\1#g'ip a s eth0|sed -n '3p'=inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0sed -r "s#^.t (.)#\1#g"=10.0.0.201/24 brd 10.0.0.255 scope global eth0sed -r 's#(.)/24.$#\1#g'=10.0.0.2014、命令整合:(1)
sed -r 's#^.*t (.*)#\1#g' sed -r 's#(.*)/24.*$#\1#g' sed -r 's#^.*t (.*)/24.*$#\1#g' 整合后:ip a s eth0|sed -n '3p'|sed -r 's#^.*t (.*)/24.*$#\1#g'(2)
sed -n '3p' sed -r 's#^.*t (.*)/24.*$#\1#g' sed -nr '3s#^.*t (.*)/24.*$#\1#gp' 整合后:ip a s eth0|sed -nr '3s#^.*t (.*)/24.*$#\1#gp'1、获取ip地址: ip address show eth02、定位显示ip地址的信息行 ip a s eth0|grep -w inetw:匹配整词,精确地单词,单词的两边必须是非字符符号(即不能是字母数字或下划线)3、取出ip地址信息 ip a s eth0|grep -w inet|grep "[0-9]+.[0-9]+.[0-9]+.[0-9]+" "[0-9]+.[0-9]+.[0-9]+.[0-9]+" 对应ip地址格式 +:匹配一个字符连续出现1次或者多次ip a s eth0|grep -w inet|grep -E "[0-9]+.[0-9]+.[0-9]+.[0-9]+" -o|head -1-o:显示命令执行过程head -1:之前结果取第一行命令执行:整合:ip a s eth0|grep -w inet|grep -E "[0-9]+.[0-9]+.[0-9]+.[0-9]+" -o整合后:ip a s eth0|grep -w inet|grep -E "([0-9]+.){3}[0-9]+" -o([0-9]+.){3}:[0-9]+.出现3次,将[0-9]+.看成一个整体加上()指定出现3次加上{}=([0-9]+.){3}ip a s eth0|grep -w inet|grep -E "([0-9]+.){4}" -o"[0-9]+.[0-9]+.[0-9]+.[0-9]+" :在这里面,只有三次[0-9]+. 一次[0-9]+将 "[0-9]+.[0-9]+.[0-9]+.[0-9]+" 变为"([0-9]+.){4}"实际上是多加了一个.(点)再执行命令中会显示出/ip a s eth0|grep -w inet|grep -E "([0-9]+.?){4}" -o|head -1这条命令中,要将.(点)取消点===.?\表示取点的特殊意义?表示匹配前面字符出现0次或1次"([0-9]+.?){4}"的结果为:10.0.0.20110.0.0.255 取消之前的 / 了再取第一行,也就是10.0.0.201了。
转载于:https://www.cnblogs.com/basa/p/11132349.html
相关资源:JAVA上百实例源码以及开源项目