gpt4 book ai didi

linux - Sed 在新行后字符串 Linux 上插入字符串

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:11 25 4
gpt4 key购买 nike

我一直在尝试将 sed 用于以下 -我正在文件中搜索以下关键字 -

</Remote>

紧接着,在新行上,我尝试插入以下内容 -

<ScanConfig filesToTest="ABCD_*.csv" namePatternLogic="0" scanMethod="0" subdirsScanLevel="" />

我已经尝试过标准 SED -

sed -i '</Remote>/a <ScanConfig filesToTest="ABCD_*.csv" namePatternLogic="0" scanMethod="0" subdirsScanLevel="" />' somefile.txt

sed -i '\#^ *</Remote> *$# a\ <ScanConfig filesToTest="ABCD_*.csv" namePatternLogic="0" scanMethod="0" subdirsScanLevel="" />' somefile.txt

两者均因以下错误而失败 -

sed: -e expression #1, char 1: unknown command: `<'
sed: -e expression #1, char 1: unknown command: `"'

我怀疑我试图插入的行中的特殊字符有 <,/> 字符混淆了 SED。我尝试将转义字符与/\一起使用,但它并没有安静地工作。

有人可以帮我解决这个问题吗?谢谢。

最佳答案

这个应该可以用

sed  -i '/<\/Remote>/a <ScanConfig filesToTest="ABCD_*.csv" namePatternLogic="0" scanMethod="0" subdirsScanLevel="" />' file.txt

在您的第一个脚本中,您忘记在 sed 表达式的开头添加“/”。

如果您将它用作 sed 分隔符,则还必须使用“\/”来匹配“/”。

关于linux - Sed 在新行后字符串 Linux 上插入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51610231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com