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

Résolu
Karine -  
lami20j Messages postés 21506 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

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  2. kilian Messages postés 8675 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
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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