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 ::