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

Résolu/Fermé
Karine - 8 sept. 2005 à 17:58
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 9 sept. 2005 à 19:20
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
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
8 sept. 2005 à 20:27
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
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2005 à 18:05
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
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
9 sept. 2005 à 19:20
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]$
0