[sh] Extraire une ligne d'un fichier

Résolu
ekra Messages postés 1873 Statut Membre -  
 tntn -
Bonjour à tous

J'aimerais extraire une ligne d'un fichier texte.

J'ai essayé avec :
head -X fichier.txt | tail -1

Le problème est que j'aimerai qu'il me renvoie une chaine vide si la ligne n'existe pas (ici renvoie toujours la derniere ligne).

Peut-être faudrait-il se servir de awk avec \n comme délimiteur, mais comment le faire (awk -F\n ne fonctionne pas)
--
Vive Linux, les vacances et les gauffres !
Configuration: Linux
Firefox 1.0.7

8 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Ou on se comprend mal, ou c'est moi qui ai rien compris ;-\

    Tu veux récupérer une ligne bien définie, non ?
    Donc :
    [jp@MDK tmpfs]$ cat ekra.txt
    Ceci est la 1ère ligne
    Ceci est la 2ème ligne
    Ceci est la 3ème ligne
    
    Ceci est la 5ème ligne
    Ceci est la 6ème ligne
    Ceci est la 7ème ligne
    [jp@MDK tmpfs]$ sed -n '2p' ekra.txt
    Ceci est la 2ème ligne
    [jp@MDK tmpfs]$ sed -n '4p' ekra.txt
    
    [jp@MDK tmpfs]$ sed -n '5p' ekra.txt
    Ceci est la 5ème ligne
    [jp@MDK tmpfs]$  
    ;-))
    29
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Essaie avec "sed" :
    sed -n 'xp' fichier
    ou "x" est le numéro de la ligne recherchée...

    ;-))
    10
  3. ben lagha
     
    Bonjour,
    j'ai le meme probleme mais cette fois ci le numéro de ma ligne est contenu dans la variable i.
    Du coup j'ai essayé plusieurs commandes mais sans succes.

    i='2'
    sed -n 'ip' ekra.txt
    sed -n '$ip' ekra.txt
    sed -n '${i}p' ekra.txt

    aucune de ces commandes ne fonctionnent.
    Pourriez vous m'aidez svp.
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Salut,

      Il faut que la variable soit en dehors des quotes pour qu'elle soit prise en compte :
      sed -n $i'p' ekra.txt
      ;-))
      0
  4. ben lagha
     
    Ca MARCHE
    Merci enormement pour ton aide.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ANASS159 Messages postés 11 Statut Membre 3
     
    Merci vraimeeent jipicy tu ma aider arigatoooo ^^
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      De rien, c'est fait pour ;-))
      0
  7. ekra Messages postés 1873 Statut Membre 342
     
    Merci de ta contrib jipicy, seulement ceci affiche les n premières lignes :p Presque !

    Je regarde le man de la commande sed, mais si tu as d'autres propositions, elles sont la bienvenue !

    Merci !
    -1
  8. ekra Messages postés 1873 Statut Membre 342
     
    Tu as tout a fait raison ! Et je suis désolé de t'avoir fait répété !
    En fait je n'avais pas vu le prompt entre deux commendes distinctes (car lignes très treès longues) et j'avai cru que ca affichait plusieurs lignes

    Merci !
    -3