次の例では、リテラル改行を使用する前後に空白行を追加できます3
。代わりに使用できますか\n
?私はGnu sed 4.5を使用しています。
root@u1804:~# seq 5 | sed -r -e '/3/{i\
> ' -e 'a\
> ' -e '}'
1
2
3
4
5
root@u1804:~#
答え1
これはうまくいき\n
ますが、コマンドの前後に2つの改行文字があり、すでに印刷i\
パターンa\
スペースの前後に1つの改行文字があるため
seq 5 | sed -e '3i\\n' -e '3a\\n'
印刷
1
2
3
4
5
何らかの理由で1行に表示するには、複数の-e
式を使用できます。
seq 5 | sed -e '3{i\' -e '' -e 'a\' -e '' -e '}'
この場合、予約済みスペースを使用する方が簡単で短いです。
seq 5 | sed '3{G;H;x;}'