clwn.net
当前位置:首页 >> linux sED命令替换特定字符之后的字符 >>

linux sED命令替换特定字符之后的字符

如果匹配的是所有2后面的3的话可以用这个:sed 's/\(.*2.*\)3\(.*\)/\19\2/' sed1.txt如果匹配的是2后面紧挨着的3的话可以用这个:sed 's/\(.*2.\)3\(.*\)/\19\2/' sed1.txt ,就是把.*2.*改成.*2. 因为*表示出现多次.

sed替换的基本语法为:复制代码 代码如下:sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”'”是没有办法用反斜线”\”转义的,这时候只要把命令

sed -i 's/*\{6\}/eth2 eth3/' file.txt 你那是什么版本的shell啊我这是bash,就是把带6个*的地方都换成 eth2 eth3, 你没sed ?? 这个单引号很折磨人 sed -i "/test IF/{s/\(.*\)\('\)\(.*\)\('\)/\1\2\eth2 eth3\4/g}" urfile

sed -r 's/(ATTR\{address\}==")[^"]*/\1ABC/' A结果得到:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ABC", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 是要这个效果吗?

sed "s/^somevariable=.\{0,\}/somevariable=$1/g" /file_path/file.suffix sed "s/^somevariable=.*/somevariable=$1/g" /file_path/file.suffix sed里面调用变量要用双引号

#echo "a|b" | sed -n 's/|/\n/p'ab

sed 's/\(IP=\).*/\1117.112.3.8/g'. 任意字符* 任意次数 \1 输出第一保存 \(\) 第一保存范围

用sed命令.sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`例如:我要把man替换为hun,执行命令:sed -i "s/man/hun/g" 'grep man -rl /www'

方括号加个转义,用引号括起来:echo "proc_s_cor_acct_loan_temp.set_upstream([" | sed s/"proc_s_cor_acct_loan_temp.set_upstream(\["/"proc_s_cor_acct_loan_temp.set_upstream(\[proc_f_cor_acct_loan_rate_segment,"/g

用\1到\10即可,同时匹配模式要用\(和\)限定,最多支持10组,例如echo "a3b" | sed "s/\([0-9]\)/\1x/"就会输出a3xb

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