O comando grep pode ser utilizado para procurar uma determi...

Próximas questões
Com base no mesmo assunto
Q739389 Sistemas Operacionais
O comando grep pode ser utilizado para procurar uma determinada ocorrência em um arquivo. Dadas as três linhas do arquivo graduacao.txt, a seguir, qual o comando do grep que mostraria somente a primeira linha? 10 Suboficial 11 Primeiro-Sargento 12 Segundo Sargento
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - grep -i "[F]" graduacao.txt

O comando grep é amplamente utilizado em sistemas operacionais baseados em Unix para realizar pesquisas de padrões em arquivos de texto. Ele procura por expressões regulares e pode ser muito poderoso quando se trata de extrair informações específicas de grandes volumes de dados. Esta questão aborda a familiaridade com o comando grep e suas opções, além do entendimento de expressões regulares.

Na questão proposta, precisamos encontrar um comando que mostre apenas a primeira linha do arquivo "graduacao.txt". A primeira linha do arquivo contém "10 Suboficial", e queremos um padrão que selecione especificamente essa linha.

Vamos analisar as alternativas:

A - grep -i "[F]" graduacao.txt
Esta opção está correta. Aqui, o uso do padrão [F] faz com que somente a linha contendo a letra "F" seja exibida. Como "Suboficial" é a única linha que contém "F", apenas a primeira linha será exibida. A opção -i é usada para ignorar a distinção entre maiúsculas e minúsculas, mas neste caso não faz diferença.

B - grep -A1 "Su" graduacao.txt
Esta alternativa está incorreta. A opção -A1 mostraria a linha encontrada e uma linha adicional após ela. Portanto, ela exibiria a primeira linha e também a segunda.

C - grep -B1 "Pr" graduacao.txt
Esta alternativa está incorreta. A opção -B1 exibe a linha encontrada e uma linha anterior a ela. Assim, ele mostraria a segunda linha "11 Primeiro-Sargento" e a linha anterior a ela, que é a primeira.

D - grep "S[e-f]" graduacao.txt
Esta opção está incorreta. O padrão "S[e-f]" procura por linhas que contenham "Se" ou "Sf". Nenhuma das linhas no arquivo contém esses padrões, portanto, esta alternativa não mostraria nenhuma linha.

E - grep -i "S" graduacao.txt
Esta alternativa está incorreta. Embora o comando grep -i "S" encontrasse todas as linhas contendo a letra "S", ele exibiria todas as três linhas, já que todas elas contêm "S".

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

Para ver apenas as linhas que terminam com a palavra "false".

-> grep -i "[F]" graduacao.txt

 

 

não entendi, alguém poderia explicar pf

Nathalia fonseca, o -i significa case insensitive. Ou seja, o comando irá retornar a ocorrência da letra f, seja maiúscula ou minúscula. E como apenas a primeira linha possui a letra f, ela será retornada, como pede a questão.

A

grep -i "[F]" graduacao.txt

Grep -i                deve ignorar o case sensitive

Retorna Suboficial, pois ele faz uma busca de [F] independente dele ser maiúsculo ou minúsculo.

B

grep -A1 "Su" graduacao.txt

Grep -A: mostra número de linhas após a linha encontrada pelo grep.

Rertorna 2.

Traduzindo: Retorne a quantidade de linhas após "Su".

C

grep -B1 "Pr" graduacao.txt

Grep -B                mostra número de linhas antes da linha encontrada pelo grep.

Retorna 1

Traduzindo: Retorne a quantidade de linhas antes de "Pr".

D

grep "S[e-f]" graduacao.txt

Retorna Segundo sargento.

[e-f] é o intervalo da busca após o S.

E

grep -i "S" graduacao.txt

Retorna Suboficial, Primeiro-Sargento e Segundo Sargento

Fonte: Guia Foca Linux 2020

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo