Bashはその行のすべての内容を返し、行を空白のままにします。

Bashはその行のすべての内容を返し、行を空白のままにします。

テキストファイルを変更したいです。 22行にテキストがあり、22行を空白のままにして、22行のテキストを23行に移動したいとしましょう。これを説明するために()に変更したいと思いますprintf 'Some %d text\n' {1..23}

Some 1 text
Some 2 text
Some 3 text
Some 4 text
Some 5 text
Some 6 text
Some 7 text
Some 8 text
Some 9 text
Some 10 text
Some 11 text
Some 12 text
Some 13 text
Some 14 text
Some 15 text
Some 16 text
Some 17 text
Some 18 text
Some 19 text
Some 20 text
Some 21 text
Some 22 text
Some 23 text

以下を入力してください:

Some 1 text
Some 2 text
Some 3 text
Some 4 text
Some 5 text
Some 6 text
Some 7 text
Some 8 text
Some 9 text
Some 10 text
Some 11 text
Some 12 text
Some 13 text
Some 14 text
Some 15 text
Some 16 text
Some 17 text
Some 18 text
Some 19 text
Some 20 text
Some 21 text
Some 22 text

Some 23 text

どうすればいいですか?

ベストアンサー1

sed -i '21 a\
' yourfile

図21は、行1の後に空の行を追加するために使用された行1の前の行番号の完全な例です。

francois@zaphod:~$ cat toto
Some text
Some more text
Some other text
francois@zaphod:~$ sed -i '1 a\
' toto
francois@zaphod:~$ cat toto
Some text

Some more text
Some other text
francois@zaphod:~$

これにより、ファイルの長さは4行です(空白行を含む)。

おすすめ記事