linux命令sed内容替换,Linux sed命令实现替换文本内容

方案一:

sed -e 's/localhost:7051/peer0.org1.example.com:7051/' -e 's/localhost:7053/peer0.org1.example.com:7053/' -e 's/localhost:7054/ca.org1.example.com:7054/'  -e 's/localhost:7050/orderer.example.com:7050/'  < $HOME/.composer/cards/jdoe@trade-network/connection.json  > /tmp/connection.json && cp -p /tmp/connection.json $HOME/.composer/cards/jdoe@trade-network/

sed:流编辑器

-e:多点编辑

<:>

>:输出文件

上边命令的作用就是将$HOME/.composer/cards/jdoe@trade-network/connection.json这个文件作为输入(前边用了

为什么不直接输出呢,还用个临时文件。原因就是当直接这样

sed -e 's/a/1/' < ./testset.txt > ./testset.txt

会导致整个testset.txt的文件被清空。当指定其他的一个文件后,它才会将变更后的内容写进指定的这个文件中。cp -p实现复制并保留临时文件。

方案二:

sed -i 就是直接对文本文件进行操作的

sed -i 's/原字符串/新字符串/' /home/1.txt

sed -i 's/原字符串/新字符串/g' /home/1.txt

这两条命令的区别就是,看示例吧

这是1.txt的内容

#cat 1.txt

d

ddd

#ff

再看执行这两条命令的区别吧

sed -i 's/d/7523/' /home/1.txt

执行结果

7523

7523dd

#ff

sed -i 's/d/7523/g' /home/1.txt

执行结果

7523

752375237523

#ff

去掉 “行首” 带“@”的首字母@

sed -i 's/^@//' file

特定字符串的行前插入新行

sed -i '/特定字符串/i 新行字符串' file

特定字符串的行后插入新行

sed -i '/特定字符串/a 新行字符串' file

特定字符串的删除

sed -i '/字符串/d' file

————————————————

版权声明:本文为CSDN博主「帅气的梧桐述」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/h363659487/article/details/81262361

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值