テキストファイルの特定の行番号から書き込みを開始

テキストファイルの特定の行番号から書き込みを開始

Bashスクリプトでテキストファイルにいくつかの行を書きたいのですが、そのファイルは以前に使用されたことがあるため、その中にテキストがあります。だから、ファイルの特定の行番号から始まる追加のテキストをエコーし​​たいと思います。

私は次のようなものが欲しい:

echo -fromLineNumber 33 -e "anything" >> textPath

答え1

sed特定の行に書き込みを使用できます。

この試み:

    sed -i '33ianything' textpath

または

    sed -i '33i\anything' textpath

33行目に「anything」が挿入されます。

答え2

最初の32行を維持し、その後に新しいテキストを追加するには:

head -n 32 oldfile > newfile
echo anything >> newfile
echo goes >> newfile
echo here >> newfile

ファイルの32行目の後にテキストを挿入するには:

sed -e '32s/$/\nanything\ngoes\nhere/' oldfile > newfile

関連情報