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