Afficher une ligne d'un fichier à partir d'un numéro de ligne - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 11-02-2008 à 09:58:30
awk ?
head/tail ?
Marsh Posté le 11-02-2008 à 10:00:36
head et tail je voulais éviter
awk, hum faut que je vois
en fait je cherchais une commande qui fasse ça en une seule fois
Marsh Posté le 11-02-2008 à 10:05:55
bon tant pis, j'ai fait à la porc avec head/tail, ça rame bien
merci quand même
Marsh Posté le 11-02-2008 à 10:15:58
Après avoir regardé vite fait :
awk 'NR==3' infile |
devrait t'extraire la 3ème ligne
Marsh Posté le 11-02-2008 à 10:25:43
ah oui effectivement merci
c'est plus rapide mais pas tellement finalement
Marsh Posté le 11-02-2008 à 16:37:02
sed -n 3p infile |
Marsh Posté le 22-02-2008 à 12:12:05
Pour les perfs, ca dépend si tu veux extraire juste une ligne, ou plusieurs.
Les trucs genre :
|
c'est bien pour extraire juste une ligne occasionnellement, mais c'est
très mauvais si tu dois répéter l'opération, tu lis tout le fichier à chaque fois que tu veux une ligne (enfin presque tout)
Et avec la solution avec pipe tu prends cher en plus
Si je tente la totale (pour rire, niveau algo c'est archi merdique):
|
c'est à dire à chaque itération 2 lectures complètes du fichier + 2
pipes (test du for + corps du for), la commande time m'indique
gentillement 23 secondes pour lire 200 lignes sur ma machine.
Evidemment là faut utiliser des file descriptors + un compteur, comme ca ca roule
Marsh Posté le 11-02-2008 à 09:48:24
salut,
y a-t-il une commande qui permette de prendre en option un numéro de ligne pour afficher cette ligne depuis un fichier ?
grep/cat/... ne l'ont pas visiblement
merci
---------------
:: Light is Right ::