Réponses:
Tu n'as pas besoin cat.
head -1 file
fonctionnera bien.
headl'intégralité du fichier et le coupe-t-il, ou lit-il uniquement la ligne 1?
cat <(head file1) <(head file2). Source
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.
catseul peut ne pas être possible, mais si vous ne souhaitez pas utiliser headces travaux:
cat <file> | awk 'NR == 1'
cat, n'est-ce pas?
awkest génial, mais vous n'en avez pas besoin catici. awk 'NR == 2 {print $0}' <file>fait la même chose. (Et bien plus, si vous apprenez un peu awk.
Je suis surpris que cette question existe depuis aussi longtemps que cela, et 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, parce qu'il readest intégré à bash et que cette utilisation ne nécessite aucun sous-shell, il est nettement plus efficace que les approches impliquant des sous-processus tels que headou awk.
IFS=partie au début?
IFSempêche les espaces de début et de fin d'être supprimés de la chaîne lue.
Utilisez la commande ci-dessous pour obtenir la première ligne d'un fichier CSV ou de n'importe quel format de fichier.
head -1 FileName.csv