(6 risposte)
Chiuso 3 anni fa.
Voglio anteporre un testo contenuto nel file disclaimer.txt a tutti i file .m in una cartella.
Ho provato quanto segue:
text=$(cat ./disclaimer.txt)
for f in ./*.m
do
sed -i '1i $text' $f
done
ma antepone solo una riga vuota.
Risposta accettata:
Ci sono molti modi per farlo, ma ecco un primo rapido tentativo:
#!/bin/sh
for file in *.m; do
cat disclaimer.txt $file >> $file.$$
mv $file.$$ $file
done
Concatena la dichiarazione di non responsabilità insieme al file originale in un nuovo file temporaneo, quindi sostituisce il file originale con il contenuto del file temporaneo.