1. ホーム
  2. linux

[解決済み] sed 空白を含む行を特定の行に挿入する

2023-03-27 01:53:47

質問

例えば、" Hello world"のように、先頭にスペースがある行があります。 私はこの行をファイルの特定の行に挿入したいです。 たとえば 次のファイルに" hello world"を挿入します。

hello
world

の結果です。

hello
    hello world
world

私はこのsedスクリプトを使用しています。

sed -i "${line} i ${text}" $file

問題は、空白を除いた新しい行を取得することです。

hello
hello world
world

どのように解決するのですか?

をエスケープすることができます。 space 文字をエスケープすることで、例えば空白を2つ追加することができます。

sed -i "${line} i \ \ ${text}" $file

または、あなたの text 変数の定義で行うこともできます。

text="\ \ hello world"