Julgue o próximo item a respeito dos conceitos de Linux.Supo...
Julgue o próximo item a respeito dos conceitos de Linux.
Suponha-se o seguinte código bash.
tail nome_arquivo.txt -n2 | head -n1
A execução do código em tela resultará na apresentação da
penúltima linha do arquivo nome_arquivo.txt.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
Vamos entender por que a alternativa é correta.
O comando tail
no Linux é usado para exibir as últimas linhas de um arquivo. No código apresentado, tail nome_arquivo.txt -n2
significa "exibir as últimas 2 linhas do arquivo nome_arquivo.txt
".
Já o comando head
é utilizado para mostrar as primeiras linhas de um arquivo ou entrada. No código dado, head -n1
significa "exibir a primeira linha da entrada", que neste caso é a saída do comando tail
.
Vamos analisar o fluxo do comando completo:
tail nome_arquivo.txt -n2 | head -n1
Este comando utiliza um "pipe" (|
) para redirecionar a saída do comando tail
como entrada para o comando head
. Assim, a sequência dos comandos realiza o seguinte:
1. O comando tail nome_arquivo.txt -n2
exibe as duas últimas linhas do arquivo nome_arquivo.txt
.
2. A saída deste comando é então passada para o comando head -n1
, que exibe a primeira linha dessa saída.
Consequentemente, a primeira linha das duas últimas linhas de um arquivo é, de fato, a penúltima linha do arquivo. Logo, a execução do código realmente resulta na apresentação da penúltima linha do arquivo nome_arquivo.txt
.
Para entender melhor, imagine um arquivo nome_arquivo.txt
com o seguinte conteúdo:
linha1
linha2
linha3
linha4
Executando tail nome_arquivo.txt -n2
, você obteria:
linha3
linha4
Então, passando isto para head -n1
, a saída seria:
linha3
Portanto, a questão está correta ao afirmar que o código apresentado resultará na apresentação da penúltima linha do arquivo nome_arquivo.txt
.
Espero que esta explicação tenha ajudado a entender o funcionamento dos comandos tail
e head
no contexto do Linux. Se tiver mais alguma dúvida, estou aqui para ajudar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
O comando tail no Linux visualiza no terminal as últimas 10 linhas de um arquivo. Ele também faz a leitura contínua de um arquivo com a opção “-f”, muito utilizada para verificar arquivos de LOG.
- -n número: Especifica o número de linhas finais que o tail irá mostrar de um arquivo;
- n2: a penúltima
- n3: antepenúltima
- n4...
Gabarito, portanto, CERTO
Estranho esse gab, pq ele poem pipe head -n1. Parece q mostraria a 1a linha tb
só completando a reposta do Eduardo!
o comando tail mostra as 10 últimas linhas do arquivo e com o parâmetro -n específicou que queria as duas últimas linhas do arquivo! o pipeline (|) usa essa saida para entrada em outro comando, que é o comando head, esse comando mostra as 10 primeiras linhas de um arquivo, mas com o parâmetro -n, tambem define a quantidade de linhas que ele quer, então o comando disse que queria as 2 últimas linhas do arquivo e com essa resposta ele queria a primeira linha dessa saída , logo ele mostrou a penúltima linha do arquivo original! Espero ter ajudado! Bons estudos e sempre mantenha a constância!
- : O comando "tail" é usado para exibir as últimas linhas de um arquivo. Aqui, estamos especificando o arquivo "nome_arquivo.txt" e a opção "-n2" para exibir as últimas duas linhas desse arquivo.
- : O caractere "|", conhecido como pipe, é usado para redirecionar a saída de um comando para a entrada de outro comando.
- : O comando "head" é usado para exibir as primeiras linhas de um arquivo. Aqui, estamos especificando a opção "-n1" para exibir apenas a primeira linha da entrada recebida pelo comando.
Portanto, a combinação desses comandos irá primeiro exibir as últimas duas linhas do arquivo "nome_arquivo.txt" usando o comando "tail", e então a primeira linha dessa saída será exibida usando o comando "head". Isso resultará na apresentação da penúltima linha do arquivo "nome_arquivo.txt".
Portanto, o comando tail nome_arquivo.txt -n2 | head -n1 basicamente extrai a penúltima linha de um arquivo de texto chamado "nome_arquivo.txt". Ele primeiro usa o tail para obter as duas últimas linhas e, em seguida, o head para retornar apenas a primeira linha dessas duas linhas obtidas.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo