1 つのコマンドで sed を使用してこれを行うことができます
for f in *; do
sed -i.bak '1i\
foo-bar
' ${f}
done
これはそれを行います。各ファイルに同じテキストを使用すると、より効率的になる可能性があります...
for f in *; do
echo "whatever" > tmpfile
cat $f >> tmpfile
mv tmpfile $f
done
ループと cat
なしでこのようにすることができます
sed -i '1i whatever' *
ファイルをバックアップしたい場合は、-i.bak を使用してください
または awk
を使用
awk 'FNR==1{$0="whatever\n"$0;}{print $0>FILENAME}' *