我想在SED中替换我的模式空间。我可以使用s/^.*$/hello world/;
执行此操作 - 但是我可以使用c
命令以某种方式执行此操作 - 而不在我的sed脚本中使用换行符吗?我不完全清楚这是否可行。
(a
和i
命令的相同问题)
答案 0 :(得分:1)
如果您的shell是bash,这是在单行中使用c
的便捷方式:
$ seq 3 | sed $'/2/c\\\nNew Text'
1
New Text
3
这会查找包含2
的任何行,并将其更改为New Text
。
这使用bash的$'...'
功能在字符串中输入换行符。换行符由\n
表示。 c
之后所需的反斜杠由\\
表示。
$'...'
,ksh93
,zsh
和FreeBSD mksh
也提供sh
功能。