Ajouter une ligne au début ou à la fin d'un fichier texte sous Linux
Cet article explique comment insérer une chaîne de caractères au début ou à la fin d'un fichier texte. Cette astuce sera particulièrement utile lors d'un développement de script shell par exemple.
1. Ajouter une ligne en début de fichier
Pour insérer une ligne au début d'un fichier, il faudra utiliser la commande sed. Voici un exemple d'utilisation :
$ cat test.txt
ligne2
$ sed -i '1iLigne1' test.txt
$ cat test.txt
ligne1
ligne2
On notera l'utilisation du code 1i au début de la chaîne à insérer. Le chiffre 1 indique à sed d'insérer cette phrase sur la première ligne.
2. Ajouter une ligne en fin de fichier
Ajouter une ligne à la fin d'un fichier est une opération beaucoup plus simple sous Linux. Il suffit d'utiliser l'opérateur ">>" pour réaliser ceci.
Voici un exemple d'utilisation :
$ cat test.txt
ligne1
$ echo "ligne2" >> test.txt
$ cat test.txt
ligne1
ligne2
9 Commentaires pour "Ajouter une ligne au début ou à la fin d'un fichier texte sous Linux"
Flux des commentaires de cet article Ajouter un commentaireC'est terrible ton site, toujour aussi intereessant!
@Nicolas : WTF, man? FUCK OFF
moi j'ai une question....
j'ai un fichier:
#!/bin/sh
case $1 in
config)
cat <<'EOM'
graph_title Temperature
graph_vlabel Temperature
temperature.label temperature
EOM
exit 0;;
esac
printf "temperature.value "
TEMP=`cat /sys/bus/w1/devices/*/w1_slave | grep t= | sed s/.*t=//`
je veux ajouter cette ligne la fin de mon fichier:
echo "scale=2; $TEMP / 1000" | bc
avec un echo "echo "scale=2; $TEMP / 1000" | bc"
cela ne fonctionne pas avez vous d'autre solution peu etre avec awk ou sed
merci d'avance
un peu tard mais :
echo 'echo "scale=2; $TEMP / 1000" | bc' >> lefichier.ext
Ce qui donne :
user56@makeitgood:~$ echo titi > lefichier.txt
user56@makeitgood:~$ echo 'echo "scale=2; $TEMP / 1000" | bc' >> lefichier.txt
user56@makeitgood:~$ cat lefichier.txt
titi
echo "scale=2; $TEMP / 1000" | bc
user56@makeitgood:~$
Bonjour.
Une remarque.
Pour ajouter une ligne au début :
echo "bonjour, ..." > fichiertmp
cat lefichierexistant >> fichiertmp
mv fichiertmp lefichierexistant
non ?
A plus.
merci grâce à vous j'ai pu finir le tp
@Anonyme : Ahah c'est marrant babass
Bonjour,
Je viens de faire cette commande qui fonctionne bien quand il s'agit d'un fichier .txt.
Mais j'aurai besoin de rajouter une requète SQL au début d'un fichier .sql.
J'ai fais le test et ça ne fonctionne pas.
Quelqu'un à une idée pour résoudre mon problème ?
Merci d'avance
Alexis
Comment créer un fichier avec 3 ligne le tout en utilisant une seule commande!!?