Sed -e 1\p -e d titre.txt

mickael3905 -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je suis en train de travailler sur un script C-shell écrit par quelqu'un d'autre. J'ai beaucoup cherché et je ne comprend vraiment pas ce que fait l'insturction suivante :

set titre = `sed -e 1\p -e d titre.txt`

le fichier titre.txt contient simplement une chaîne de caractère qui est le titre d'un essai, suivi d'un passage à la ligne normalement.

Si quelqu'un pouvait m'aider, ça me dépannerait beaucoup.

Merci

Mickaël

2 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Ton instruction extrait la première ligne (-e 1/p) et efface la fin de la ligne (-e d).
    On aurait tout aussi bien pu écrire :
    sed -n 1p titre.txt
    ;-))
    Comme un exemple est toujours plus parlant :
    [jp@Mandrake tmpfs]$ cat titre.txt
    Ceci est un titre
    Là un autre
    et là un troisième
    
    [jp@Mandrake tmpfs]$ sed -e 1\p -e d titre.txt
    Ceci est un titre
    
    [jp@Mandrake tmpfs]$ sed -n 1p titre.txt
    Ceci est un titre
    
    [jp@Mandrake tmpfs]$ sed -e 2\p -e d titre.txt
    Là un autre
    
    [jp@Mandrake tmpfs]$ sed -n 2p titre.txt
    Là un autre
    
    [jp@Mandrake tmpfs]$ sed -e 3\p -e d titre.txt
    et là un troisième
    
    [jp@Mandrake tmpfs]$ sed -n 3p titre.txt
    et là un troisième
    
    [jp@Mandrake tmpfs]$
    Enjoy ;-))
    0
  2. mickael3905
     
    merci beaucoup pour ton aide

    Mickaël
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      De rien ;-))
      0