gpt4 book ai didi

regex - sed,如何用2行替换一行?

转载 作者:行者123 更新时间:2023-12-04 03:09:29 25 4
gpt4 key购买 nike

我试图在 Debian 中使用 sed 用 2 行替换 1 行,这是我想出的:

sed -i 's/You are good/You are good\n You are the best/g' /output.txt
但是,当我这样做时,sed 一直提示说“ s 的未知选项”。

最佳答案

如果你在 bash 中试试这个:

sed -i.bak $'s/You are good/You are good\\\nYou are the best/g' /output.txt

很奇怪吧?但似乎工作。也许 sed 无法正确处理换行符,因此需要使用另一个反斜杠对其进行转义,因此 \\这将成为一个单一的 \在去 sed 之前。

另外,请注意您没有将扩展名传递给 -i .

编辑

刚刚找到了另一个解决方案。由于在传递给 sed 时需要对换行符进行转义(否则它会认为它是命令终止符),因此您实际上可以使用单引号和回车符,只需在输入换行符之前插入反斜杠即可。
$ echo test | sed 's/test/line\
> line'
line
line

关于regex - sed,如何用2行替换一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086032/

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