Comment lire la première ligne d'un fichier avec cat
?
Vous n'avez pas besoin de cat
.head -1 file
fonctionnera correctement.
Vous n'utilisez pas head
à la place.
head -n 1 file.txt
Il y a beaucoup de façons différentes:
sed -n 1p file
head -n 1 file
awk 'NR==1' file
Vous pouvez utiliser cat file.txt | head -1
, mais il serait probablement préférable d’utiliser directement head, comme dans head -1 file.txt
.
Cela peut ne pas être possible avec cat
. Y a-t-il une raison pour laquelle vous devez utiliser cat
?
Si vous avez simplement besoin de le faire avec une commande bash, cela devrait fonctionner pour vous:
head -n 1 file.txt
cat
seul ne sera peut-être pas possible, mais si vous ne voulez pas utiliser head
, cela fonctionne:
cat <file> | awk 'NR == 1'
Je suis surpris que cette question existe depuis si longtemps et que personne n'a encore fourni l'approche intégrée pré-mapfile.
IFS= read -r first_line <file
... place la première ligne du fichier dans la variable développée par "$first_line"
, aussi simple que cela.
De plus, étant donné que read
est intégré à bash et que cet usage ne nécessite aucun sous-shell, il est nettement plus efficace que les approches impliquant des sous-processus tels que head
ou awk
.
Vous n'avez besoin d'aucune commande externe si vous avez bash v4 +
< file.txt mapfile -n1 && echo ${MAPFILE[0]}
ou si vous voulez vraiment cat
cat file.txt | mapfile -n1 && echo ${MAPFILE[0]}
:)
utilisez la commande ci-dessous pour obtenir la première ligne d'un fichier CSV