[SHELL] insérer une chaine de caractères

[Résolu/Fermé]
Signaler
-
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
-
je suis débutant en script shell :
comment insérer une chaine de caractères au début d'un fichier ?
merci de votre aide

3 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887
Salut,

Tu peux faire ça avec "sed" de la façon suivante :
[jp@Mandrake tmpfs]$ cat fichier.txt
je suis débutant en script shell :
comment insérer une chaine de caractères au début d'un fichier ?
merci de votre aide.

[jp@Mandrake tmpfs]$ sed 1i"Bonjour à tous," fichier.txt
Bonjour à tous,
je suis débutant en script shell :
comment insérer une chaine de caractères au début d'un fichier ?
merci de votre aide.

[jp@Mandrake tmpfs]$
Si tu veux que le résultat soit inscrit en dur dans le fichier, rajoute l'option "-i" à la commande :
sed -i 1i"Bonjour à tous," fichier.txt
;-))
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 521
Tu peux passer par un fichier intermediaire.
Si ton fichier s'appele truc:
echo "truc a ecrire en debut de fichier" > temp
cat truc >> temp
mv temp truc
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 562
Bonsoir,

Voici la même chose en perl (ligne de commande).

Donc la on ajoute au début de fichier "Bonjour à tous," et dans le même temps on fait une sauvegarde de fichier (fichier.txt.orig).
[lamitest@localhost bin]$ perl -pi.orig -e 'print "Bonjour à tous,\n" unless $.>1' fichier.txt
[lamitest@localhost bin]$ cat fichier.txt
Bonjour à tous,
je suis débutant en script shell :
comment insérer une chaine de caractères au début d'un fichier ?
merci de votre aide

[lamitest@localhost bin]$ cat fichier.txt.orig
je suis débutant en script shell :
comment insérer une chaine de caractères au début d'un fichier ?
merci de votre aide

[lamitest@localhost bin]$