重複の可能性:
複数のファイルの先頭にタグを追加するには?
ヘッダーに行を含む一時ファイルを作成し、完了したら再度移動するだけでなく、ファイルにいくつかの行を追加する標準的な方法はありますか?
言い換えれば、時々(echo #GPL license; cat $file) > tmpfile; mv tmpfile $file
編集2
まず、一般的なディストリビューションに付属の標準コマンドがあることを確認したかったのです。
編集する
前に追加されるソースは、固定文字列だけでなくファイルでもあります。cat $header $file > tmpfile; mv tmpfile $file
ベストアンサー1
sed(GNU)が機能する場合:
$ sed -i '1i #GPL License' file
ソースがファイルの場合:
ソースファイル:
$ cat file1
hi
hello
$ cat file2
welcome to
Unix SO.
sed コマンド:
$ sed -i '1{
r file1
h;d
};2{H;g;}' file2
sedコマンド後の出力:
$ cat file2
hi
hello
welcome to
Unix SO.
sedの 'r'コマンドは、最初の行より前のファイルを読み取ることができないため、このソリューションです。最初の行は予約されたメモリに保存され、file1の内容が端末に送信され、2行目が来ると最初の行と一緒に印刷されます。