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

Résolu
Karine -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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   Statut Modérateur Dernière intervention   4 896
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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