フォルダ内のすべてのファイルにテキストを追加 [重複]

フォルダ内のすべてのファイルにテキストを追加 [重複]

フォルダ内のすべての.mファイルの前にdisclaimer.txtファイルに含まれるテキストを追加したいと思います。

私は以下を試しました:

text=$(cat ./disclaimer.txt)

for f in ./*.m
do
   sed -i '1i $text' $f
done

しかし、前に空白行が追加されます。

ベストアンサー1

これを行うにはいくつかの方法がありますが、最初に試すことができる簡単な方法は次のとおりです。

#!/bin/sh
for file in *.m; do
    cat disclaimer.txt $file >> $file.$$
    mv $file.$$ $file
done

免責事項と元のファイルを新しい一時ファイルにリンクし、元のファイルを一時ファイルの内容に置き換えます。

おすすめ記事