Posez votre question Signaler

[sh] Extraire une ligne d'un fichier [Résolu]

ekra 1889Messages postés 15 avril 2005Date d'inscription - Dernière réponse le 4 nov. 2009 à 18:01
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)
Lire la suite 

[sh] Extraire une ligne d'un fichier »

10 réponses
Réponse
+13
moins plus
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]$  
;-))
Ajouter un commentaire
Réponse
+5
moins plus
Salut,

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

;-))
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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.
jipicy- 17 mars 2007 à 10:44
Salut,

Il faut que la variable soit en dehors des quotes pour qu'elle soit prise en compte :
sed -n $i'p' ekra.txt
;-))
Ajouter un commentaire
Réponse
+0
moins plus
Ca MARCHE
Merci enormement pour ton aide.
Ajouter un commentaire
Réponse
+0
moins plus
Merci vraimeeent jipicy tu ma aider arigatoooo ^^
jipicy- 13 mai 2009 à 07:37
De rien, c'est fait pour ;-))
Ajouter un commentaire
Réponse
+0
moins plus
merci, ça m'a bien aidé aussi
Ajouter un commentaire
Ce document intitulé « [sh] Extraire une ligne d'un fichier » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?