wdjh.net
当前位置:首页 >> shEll sED 模糊匹配 >>

shEll sED 模糊匹配

改成这样就可以了: A="\/usr\/sbin\/control.sh --start" sed -i "/$A/d" cmd.cfg

sed不支持.*?这种的非贪婪匹配模式。

$ echo $a | awk -v RS=".html" '{if(length($0)>1){gsub("[^0-9]+","");print $0".html"}}'1234.html2333.html不清楚正则匹配的条件(关键字)是什么,如有更详细的说明就更好了。 暂且只匹配了html,并且假设html的名称都是数字,而其他描述部...

sed -n '/pattern/p' file_name |sed -n 7,12p#pattern是你要查的内容#file_name是你要查的文件以上实现:打印出匹配结果中的7-12行sed -n '/pattern/{7,12p}' file_name以上实现将文件中7到12行中匹配的数据显示出来

改为双引号阿 sed "s/10N/{$i}/g"

你的代码应该copy上来 可以用grep命令,把包含sed的 while 循环删除换成: grep -v "$no" stu.txt 就可以了。 -v 表示显示不匹配的行

a=$( expr 'helloworld20140501.txt' : '.*\([0-9]\{8\}\).*' ) echo $a linux shell 中可以将命令的结果赋值给变量,$(命令)这种格式将返回命令执行后的结果字符串 上面命令执行后,变量a的值是20140501 a=`echo 'helloworld20140501.txt'|sed ...

用 grep -oP 'a.*?c' 即可,如上图

正则匹配中,点号.表示任意一个字符,*表示重复前面一个字符(这里就是点号.)0次或多次。 \(.*\)a表示要以一个a字符结尾,而默认情况下*具有贪婪特性,会匹配符合要求的最大数目的字符。 因此 .* 就匹配到了最后一个a前面的所有字符。 \( \) 这...

删除匹配行的下一行比较好实现: sed -ne 'p;/Storage/n' thegeekstuff.txt 删除匹配行的前一行,可以将文本文件倒过来,从而将问题转成删除匹配行的下一行 tac thegeekstuff.txt|sed -ne 'p;/Storage/n' |tac写成一句 sed -ne 'p;/Storage/n' t...

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com