sed 替换遇到的问题

1)
sed -i 's/10.0/100/g' C:\Users\22022857\Desktop\new 2.txt
sed: can't read C:\Users\22022857\Desktop\new: No such file or directory
sed: can't read 2.txt: No such file or directory
注:名字不能有空格,会认为两个文件
2)
repos_dir=/root/git_repo
sed -i "s/REPO_DIR=.*/REPO_DIR=${repos_dir}/" ./test.sh
sed: -e expression #1, char 23: unterminated `s command
注:参数含有符号/会出错
解决方法:将/替换成%即可
sed -i "s%REPO_DIR=.*%REPO_DIR=${repos_dir}%" ./test.sh
3)
sed -i 's%<value>10.0</value>%<value>100</value>%g' C:\Users\22022857\Desktop\new2.txt
系统找不到指定的文件。
注:单引号的问题,我换成双引号可以
sed -i "s%<value>10.0</value>%<value>100</value>%g" C:\Users\22022857\Desktop\new2.txt
4)匹配是不是以行粒度呀下面不能执行
sed "s%
            <name>throughput</name>
            <value>10.0</value>
    %
                <name>throughput</name>
                <value>100</value>
    %g" C:\Users\22022857\Desktop\new2.txt
sed: -e expression #1, char 2: unterminated `s command


sed "s%<name>throughput</name>
            <value>10.0</value>
    %<name>throughput</name>
                <value>100</value>
    %g" C:\Users\22022857\Desktop\new2.txt
	
	
5)
os.system("sed -i 's/10.0/100/g' {0}".format(r'C:\Users\22022857\Desktop\new2.txt'))
sed: cannot rename ./sed53xehm: Invalid cross-device link
注:好像是路径不在c盘的问题
加上os.chdir("C:\\")就可以了
6)
sed  "s%<intProp name="LoopController.loops">-2</intProp>%<intProp name="LoopController.loops">-1</intProp>%g" D:\coding\test\new2.txt
注:双引号的问题
sed  "s%<intProp name=\"LoopController.loops\">-2</intProp>%<intProp name=\"LoopController.loops\">-1</intProp>%g" D:\coding\test\new2.txt

7)\d不启作用,用[0-9]替换
sed -i 's/flag\s*=\s*\d\+/flag = 1/g' log
sed -i 's/flag\s*=\s*[0-9]\+/flag = 2/g' log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值