Suponho que é bobagem chamar um 'uso inútil de gato' em uma linha projetada especificamente para uso cat, não é?
jkerian
Esse método é ótimo porque você pode escolher qualquer linha que desejar.
Desgua 28/11
3
@desgua awké ótimo, mas você não precisa cataqui. awk 'NR == 2 {print $0}' <file>faz a mesma coisa. (E muito mais, se você aprender um pouco awk.
Eric Wilson
5
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 headou awk.
head
ler o arquivo inteiro e cortá-la, ou ele lê apenas a linha 1?cat <(head file1) <(head file2)
. FonteVocê não usa, em
head
vez disso.fonte
Existem muitas maneiras diferentes:
fonte
Você poderia usar
cat file.txt | head -1
, mas provavelmente seria melhor usar a cabeça diretamente, como emhead -1 file.txt
.fonte
Isso pode não ser possível com
cat
. Existe um motivo para você usarcat
?Se você simplesmente precisar fazer isso com um comando bash, isso deve funcionar para você:
fonte
cat
sozinho pode não ser possível, mas se você não quiser usarhead
isso funciona:fonte
cat
, não é?awk
é ótimo, mas você não precisacat
aqui.awk 'NR == 2 {print $0}' <file>
faz a mesma coisa. (E muito mais, se você aprender um poucoawk
.Estou surpreso que essa pergunta já exista há muito tempo e ninguém forneceu a abordagem interna de pré-mapfile ainda.
... 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 comohead
ouawk
.fonte
IFS=
parte do começo?IFS
evita que os espaços em branco à esquerda e à direita sejam removidos da sequência lida.Você não precisa de nenhum comando externo se tiver o bash v4 +
ou se você realmente quer
cat
:)
fonte
Use o comando abaixo para obter a primeira linha de um arquivo CSV ou de qualquer formato de arquivo.
fonte