我想替换我在SED中的模式空间。我可以这样做s/^.*$/hello world/;
-但可以c
以某种方式使用命令-在sed脚本中不使用换行符吗?我尚不完全清楚这是否有可能。
(与a
和i
命令的问题相同)
如果您的外壳是bash,则这是在单层中使用的便捷方法c
:
$ seq 3 | sed $'/2/c\\\nNew Text'
1
New Text
3
这将查找包含的任何行2
并将其更改为New Text
。
这使用bash的$'...'
功能在字符串中输入换行符。换行符由表示\n
。之后需要的反斜杠c
由表示\\
。
该$'...'
功能也可用ksh93
,zsh
,mksh
,和FreeBSD sh
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句