Rechercher : dans
Par :

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

Dernière réponse le 9 sep 2005 à 19:20:01 Karine, le 8 sep 2005 à 17:58:30 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [SHELL] insérer une chaine de caractères » dans :
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce...
Le remplacement de variables en shell Bash Voir=Le remplacement de variables= Introduction Il peut s'avérer utile de s'assurer qu'une variable est bien définie avant de procéder à son remplacement, ou tout simplement de s'assurer que celle-ci n'est pas vide, et dans ce cas de l'initialiser avec...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

kilian, le 8 sep 2005 à 18:05:30

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

Répondre à kilian

2

jipicy, le 8 sep 2005 à 20:27:36

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
;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé. 

Répondre à jipicy

3

 lami20j, le 9 sep 2005 à 19:20:01

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]$

Répondre à lami20j