L'option -i ne doit exister que pour le sed GNU. Ca dépend de ton OS. Dans ce cas, faut rediriger vers un fichier temporaire et le renommer :
for i in *.for; do sed 's/^include .common\.\(.*\).$/#include \1.h/' > $i.tmp; mv $i.tmp $i; done
Ceci dit, si tu veux faire un fichier .c à partir de ton fichier .for, je te conseille de réécrire les fichiers dans des fichiers temporaires et de renommer ces fichiers temporaires avec la même boucle qu'au début :
1 2
| for i in *.for; do sed 's/^include .common\.\(.*\).$/#include \1.h/' > $i.tmp; done
for i in *.tmp ; do mv $i `echo $i | cut -d"." -f1`.c ; done |
Pour awk, je ne sais pas mais pour sed, j'utilise souvent cette page : http://www.grymoire.com/Unix/Sed.html (c'est en anglais)
Partager