Lire la première ligne d'un fichier en utilisant bash


8

Quelqu'un connaît-il un simple liner pour lire la première ligne d'un fichier en bash?

Réponses:


24
read -r FIRSTLINE < filename

Même résultat que les autres réponses mais plus rapide car il ne génère aucun processus, car "read" est une commande bash intégrée.


bon point, +1 pour vous
drAlberT

Cela fonctionne bien mieux que de faire «head -n 1». Je lisais la première ligne de 265 fichiers et mon temps est passé d'environ 15 secondes à moins de 1 seconde
s3v1


6
FIRSTLINE=`head -n 1 filename`

Stocke la ligne dans une variable pour une utilisation ultérieure (notez les apostrophes inversées).


5
$ (commande) est une forme alternative qui évite l'utilisation de tics arrière, pas même simple à trouver sur certains claviers.
drAlberT

1
bonne réponse, mais je vote contre parce que la réponse de l'e-t172 est meilleure. Read est destiné à cela, et il est intégré à bash, comme il le dit.
Lee B

2
non, voter contre une "bonne réponse" parce que ce n'est pas le meilleur possible n'est pas si poli ne pensez-vous pas?
drAlberT

3
Lee - Pourquoi ne pas simplement voter pour celui que vous aimez à la place? Les downvotes ne doivent être accordés que pour des informations factuellement incorrectes ou pour des sujets hors sujet.
MDMarra


1
awk 'NR == 1' /etc/passwd

1
cela analysera le fichier complet, puis retournera la première ligne, ce qui est inefficace pour les gros fichiers. lire -r est meilleur.
Richard
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.