bash, ajouter du contenu en début de fichier

2014-09-18

Voici deux techniques pour ajouter du contenu en début de fichier.

L’une utilise le programme sponge mais nécessite l’installation du paquet moreutils, l’autre est “plus” standard puisqu’utilise tee disponible dans coreutils.

$ echo 'Le contenu de mon super fichier' >> fichier.txt
$ echo 'Le contenu de mon super fichier' > fichier.txt
$ echo ajouter la ligne | cat - fichier.txt | sponge fichier.txt
$ cat fichier.txt 
ajouter la ligne
Le contenu de mon super fichier
$ echo ajouter la ligne | cat - fichier.txt | tee fichier.txt
ajouter la ligne
ajouter la ligne
Le contenu de mon super fichier
$ cat fichier.txt 
ajouter la ligne
ajouter la ligne
Le contenu de mon super fichier
$ echo ajouter la ligne | cat - fichier.txt | tee fichier.txt > /dev/null
$ cat fichier.txt 
ajouter la ligne
ajouter la ligne
ajouter la ligne
Le contenu de mon super fichier

Une différence existe toutefois entre les deux. En effet tee produit sur la sortie standart le texte généré.