Jean-Mee: votre méthode n'est pas garanti, et va probablement échouer si vous la faire précéder de plus de 4 096 octets de choses (du moins, c'est ce qui se passe avec gnu awk, mais je suppose que d'autres implémentations ont les mêmes contraintes). Non seulement il va échouer dans ce cas, mais il va entrer dans une boucle sans fin où il va lire sa propre production, ce qui rend le fichier de croître jusqu'à ce que tout l'espace disponible est rempli.
Essayez par vous-même:
exec 3<>myfile && awk 'BEGIN{for(i=1;i<=1100;i++)print i}{print}' myfile >&3
(avertissement: le tuer après un certain temps ou il va remplir le système de fichiers)
En outre, il est très dangereux de modifier les fichiers de cette façon, et c'est très mauvais conseils, comme si quelque chose se passe alors que le fichier est en cours de modification (crash de disque plein), vous êtes presque assuré d'être de gauche avec le fichier dans un état incohérent.