Respostas:
Você não precisa cat
.
head -1 file
vai funcionar bem.
head
ler o arquivo inteiro e cortá-la, ou ele lê apenas a linha 1?
cat <(head file1) <(head file2)
. Fonte
Você poderia usar cat file.txt | head -1
, mas provavelmente seria melhor usar a cabeça diretamente, como em head -1 file.txt
.
cat
sozinho pode não ser possível, mas se você não quiser usar head
isso funciona:
cat <file> | awk 'NR == 1'
cat
, não é?
awk
é ótimo, mas você não precisa cat
aqui. awk 'NR == 2 {print $0}' <file>
faz a mesma coisa. (E muito mais, se você aprender um pouco awk
.
Estou surpreso que essa pergunta já exista há muito tempo e ninguém forneceu a abordagem interna de pré-mapfile ainda.
IFS= read -r first_line <file
... coloca a primeira linha do arquivo na variável expandida por "$first_line"
, fácil assim.
Além disso, como read
é incorporado ao bash e esse uso não requer sub-shell, é significativamente mais eficiente do que abordagens que envolvem subprocessos como head
ou awk
.
IFS=
parte do começo?
IFS
evita que os espaços em branco à esquerda e à direita sejam removidos da sequência lida.
Use o comando abaixo para obter a primeira linha de um arquivo CSV ou de qualquer formato de arquivo.
head -1 FileName.csv