Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — FUNDATEC 2025

Sistemas OperacionaisLinux
Código
qg474963
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação/Ênfase em Gerenciamento de Projetos na Área Operacional
Um desenvolvedor está analisando um arquivo de log extenso em um servidor Linux e precisa extrair apenas as linhas que contêm uma palavra-chave específica, exibindo um número limitado de resultados para uma análise inicial. Qual combinação de comandos de linha de comando é a mais eficiente para filtrar e limitar a saída de um arquivo grande?
  1. Acat | grep | head
  2. Btail | grep
  3. Chead | grep
  4. Dgrep | head
  5. Esort | uniq
Revelar gabarito e comentário

GabaritoD — grep | head

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Filtragem e Limitação de Saída em Arquivos Grandes no Linux

Gabarito: letra D. A combinação grep | head é a mais eficiente porque primeiro filtra as linhas que contêm a palavra‑chave (reduzindo drasticamente o volume de dados) e depois limita a exibição com head. As demais alternativas ou introduzem comandos desnecessários ou fazem a limitação antes da filtragem, o que pode descartar linhas relevantes.

O contexto de apoio descreve que grep extrai linhas contendo um determinado padrão e head extrai as linhas iniciais. Um pipeline de exemplo citado é grep ter *.t | sort | head –20 | tail –5 >foo, demonstrando o uso encadeado de grep e head.

  1. 1grep (filtra)
  2. 2head (limita)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

cat | grep | head — O uso de cat é redundante, pois grep pode ler o arquivo diretamente. Isso adiciona uma etapa desnecessária de leitura e escrita no pipe, tornando o processo menos eficiente.

Alternativa B — ❌ Incorreta

tail | grep — Primeiro limita as linhas finais com tail e depois filtra. Se a palavra‑chave não estiver nesse trecho final, ela será perdida. A ordem deve ser filtro primeiro, limite depois.

Alternativa C — ❌ Incorreta

head | grep — Mesmo problema da alternativa B: head extrai as primeiras linhas antes de filtrar. A palavra‑chave pode estar no restante do arquivo, resultando em falsos negativos.

Alternativa D — ✅ Correta ⟵ GABARITO

grep | head — Primeiro filtra apenas as linhas com a palavra‑chave (reduz o volume), depois limita a saída com head. Esta é a ordem lógica e eficiente. O grep lê o arquivo uma vez e passa as linhas já filtradas para head, que corta a quantidade exibida.

Alternativa E — ❌ Incorreta

sort | uniq — Ordena e remove duplicatas, mas não filtra por palavra‑chave nem limita a saída. Não atende ao objetivo do enunciado.

NÃO CAIA NESSA!

Evite usar cat antes de grep – o próprio grep aceita o nome do arquivo como argumento. Além disso, nunca limite a saída antes de filtrar, pois você pode descartar justamente as linhas que procura. A ordem correta é sempre filtrar primeiro, depois limitar.

Gabarito: letra D.

Link permanente: /questoes/qg474963