Bonjour,
Je cherche à insérer un ligne dans un fichier mais au début, car :
insère la ligne en fin de fichier.echo "test" >> ~/fichier.txt
D'avance merci pour votre aide.
Bonjour,
Je cherche à insérer un ligne dans un fichier mais au début, car :
insère la ligne en fin de fichier.echo "test" >> ~/fichier.txt
D'avance merci pour votre aide.
Il y a pas mal de solutions avec sed, awk ou perl, mais j'aime bien celle-la:
Ajoute "Ma ligne." comme premiere ligne de newfile.txt, puis insere toto.txt a la suite. Evidemment, si tu as plusieurs lignes a ajouter, il suffit de les mettre avant le EOF.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 cat - toto.txt > newfile.txt << EOF Ma ligne. EOF
Oui, c'est une solution utile à connaitre, mais s'il souhaite modifier le fichier, ce n'est pas pratique.
En Sed :
L'option -i de Sed permet de modifier le fichier, mais elle n'est pas dispo sur certains Sed (mais celui de Gnu l'a).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sed -i '1i\ test' ~/fichier.txt
merci pour vos réponses![]()
sed correspond plus à ce que je veux faire, par contre je n'arrive pas insérer le contenu d'une variable :
sed -i '1i\
$MA_VARIABLE' ~/fichier.txt
C'est un problème de Shell et de quoting...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sed -i "1i\\ $MA_VARIABLE" ~/fichier.txt
merci mais ça ne marche pas...
Partager