使用sed的append / change / insert而不换行

时间:2016-08-20 20:06:08

标签: sed text-processing

我想在SED中替换我的模式空间。我可以使用s/^.*$/hello world/;执行此操作 - 但是我可以使用c命令以某种方式执行此操作 - 而不在我的sed脚本中使用换行符吗?我不完全清楚这是否可行。

ai命令的相同问题)

1 个答案:

答案 0 :(得分:1)

如果您的shell是bash,这是在单行中使用c的便捷方式:

$ seq 3 | sed $'/2/c\\\nNew Text'
1
New Text
3

这会查找包含2的任何行,并将其更改为New Text

这使用bash的$'...'功能在字符串中输入换行符。换行符由\n表示。 c之后所需的反斜杠由\\表示。

$'...'ksh93zsh和FreeBSD mksh也提供sh功能。