Sed编辑器单一检查

Sed编辑器单一检查,sed,Sed,我有一个sed命令,它将在一行的末尾附加一个字符串。当我再次运行相同的命令时,相同的内容会一次又一次地在行尾追加 我正在寻找一个命令,它将检查内容是否已经存在,然后继续 这是我的sed命令: shell: sed -i '/only_from/s/$/ xx.xx.xx.xx\/24/' file.txt 您可以尝试此sed: sed '/only_from/{ / xx\.xx\.xx\.xx\/24/ !s/$/ xx\.xx\.xx\.xx\/24/}' file 这条线适合您的需要:

我有一个sed命令,它将在一行的末尾附加一个字符串。当我再次运行相同的命令时,相同的内容会一次又一次地在行尾追加

我正在寻找一个命令,它将检查内容是否已经存在,然后继续

这是我的sed命令:

shell: sed -i '/only_from/s/$/ xx.xx.xx.xx\/24/' file.txt

您可以尝试此
sed

sed '/only_from/{ / xx\.xx\.xx\.xx\/24/ !s/$/ xx\.xx\.xx\.xx\/24/}' file

这条线适合您的需要:

sed -i '/only_from/{/ xx\.xx\.xx\.xx\/24$/!s#$# xx.xx.xx.xx/24#}' file
例如:


这可能有点幼稚,但为什么不写一些像这样简单的东西呢

sed -i '/only_from$/s/$/ xx.xx.xx.xx\/24/' file.txt

谢谢你的回答,但我的要求是写很多文件。因此,如果我得到write命令,我可以将其放在ansible play中,以便在所有主机中更新。下面提到的这个命令工作正常。sed-i'/only_from/{/xx\.xx\.xx\.xx\/24$/!s#$##xx.xx.xx/24#}是的,我没有意识到您只想从中获得更多信息,因为您没有提供输入示例。我已经对Kent的答案投了赞成票。awk可能是一个更适合您的任务的工具
sed -i '/only_from$/s/$/ xx.xx.xx.xx\/24/' file.txt