1
我想要在SED中恢復我的模式空間。我可以用s/^.*$/hello world/;
來做到這一點 - 但我可以用c
命令做到這一點 - 在我的sed腳本中不使用換行符?從這個角度來看,我不完全清楚這是否可能。使用sed的追加/更改/插入而不換行
(爲a
和i
命令相同的問題)
我想要在SED中恢復我的模式空間。我可以用s/^.*$/hello world/;
來做到這一點 - 但我可以用c
命令做到這一點 - 在我的sed腳本中不使用換行符?從這個角度來看,我不完全清楚這是否可能。使用sed的追加/更改/插入而不換行
(爲a
和i
命令相同的問題)
如果你的shell是bash,這裏是一個班輪使用c
一個方便的方法:
$ seq 3 | sed $'/2/c\\\nNew Text'
1
New Text
3
這看起來對任何線包含2
並將其更改爲New Text
。
這使用bash的$'...'
功能在字符串中輸入換行符。換行符由\n
表示。在c
之後所需的反斜槓由\\
表示。
的$'...'
功能也可在ksh93
,zsh
,mksh
和FreeBSD sh
。
夠好,謝謝。 – einpoklum
可能重複[Sed:在一行中使用a,c或i](http://stackoverflow.com/questions/38938645/sed-using-ac-or-i-in-a-one-班輪) – kdhp