web-dev-qa-db-ja.com

テキストファイルの特定の行番号から書き始める

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

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

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

sedを使用して、特定の行に書き込むことができます。

これを試して:

    sed -i '33ianything' textpath

または

    sed -i '33i\anything' textpath

行番号33に「何でも」挿入します。

14
kumarprd

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

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

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

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