(6 Antworten)
Vor 3 Jahren geschlossen.
Ich möchte allen .m-Dateien in einem Ordner einen Text voranstellen, der in der Datei disclaimer.txt enthalten ist.
Folgendes habe ich versucht:
text=$(cat ./disclaimer.txt)
for f in ./*.m
do
sed -i '1i $text' $f
done
aber es wird nur eine leere Zeile vorangestellt.
Akzeptierte Antwort:
Es gibt viele Möglichkeiten, dies zu tun, aber hier ist ein schneller erster Versuch:
#!/bin/sh
for file in *.m; do
cat disclaimer.txt $file >> $file.$$
mv $file.$$ $file
done
Es verkettet den Haftungsausschluss zusammen mit der Originaldatei in einer neuen temporären Datei und ersetzt dann die Originaldatei durch den Inhalt der temporären Datei.