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?

ChrisInCambo
la source

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.

Etienne Dechamps
la source
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
16
head -1

simplement

drAlberT
la source
6
FIRSTLINE=`head -n 1 filename`

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

Terje Mikal
la source
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

head -n 1 devrait faire l'affaire

brandstaetter
la source
1
awk 'NR == 1' /etc/passwd
David Poblador i Garcia
la source
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