Il faut réécrire chaque fichier dans un fichier temporaire, puis le renommer pour écraser le fichier d'origine avec le fichier modifié.
Il n'y a pas de moyen de faire ça en une seule passe.
Avec awk il te suffit de faire une boucle jusqu'à ce qu'un compteur de ligne atteigne 89, puis tu insères tes quatre lignes, puis tu reprends la réécriture jusqu'à la fin du fichier.
Ca donne grosso modo un truc du genre :
#! /bin/ksh
awk 'BEGIN { ligne = 0 } { if ( ligne == 89 ) # écrire ici les quatres lignes à ajouter
print $0;
ligne++; }' ton_fichier.txt > ton_fichier.txt.tmp
mv ton_fichier.txt.tmp ton_fichier.txt
|
Je ne t'ai donné que la base, il faut ajouter la boucle qui va bien autour du awk pour parcourir ta liste de fichiers.
Message édité par Elmoricq le 21-10-2005 à 15:10:29