Pular para o conteúdo principal

Questão de Sistemas Operacionais — Geral — VUNESP 2024

Sistemas OperacionaisGeral
Código
vu212409
Banca
VUNESP
Órgão
Pref Osasco
Ano
2024
Cargo
Ana ( )
Em um sistema operacional Linux, o arquivo prova.txt possui o seguinte conteúdo:   A B C 1 2 3 X Y Z   O comando a seguir foi digitado por um usuário do sistema.   grep -n Y prova.txt | cut -d: -f1   Assinale a alternativa que contém o conteúdo que será apresentado no terminal após o comando.
  1. A2
  2. B3
  3. C3,2
  4. DX Y Z
  5. EB      2      Y
Revelar gabarito e comentário

GabaritoB — 3

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”.

Resolução

Gabarito: letra B — a conta chega a 3 — alternativa B.

A ideia por trás

O comando grep é um filtro de texto que procura linhas que contenham um padrão (aqui, a letra Y) e as imprime. A opção -n faz com que cada linha encontrada seja precedida pelo seu número dentro do arquivo, no formato 'número:conteúdo'. Já o cut é um utilitário que extrai partes de cada linha, usando um delimitador para separar campos.

O pipeline encadeia os dois comandos: primeiro o grep filtra e numera as linhas, produzindo uma saída como '3:X Y Z'. Depois, o cut -d: -f1 divide essa linha pelo caractere ':' e seleciona o primeiro campo, que é o número da linha. O resultado final é apenas o número, sem o conteúdo.

Esta questão testa exatamente essa combinação: entender que o grep -n insere um ':' entre o número e o conteúdo, e que o cut com -d: -f1 isola o número. A pegadinha é confundir o número da linha com o conteúdo ou com a posição do 'Y'.

O que a questão dá

  • arquivo prova.txt com 3 linhas: ' A B C ', ' 1 2 3 ', ' X Y Z '

  • comando: grep -n Y prova.txt | cut -d: -f1

O que queremos: a saída exibida no terminal após executar o comando

Passo 1 — Localizar a linha que contém Y

O primeiro comando do pipeline é o grep, que procura a letra Y no arquivo. Precisamos saber em qual linha ela aparece, porque é esse número que será extraído depois.

linha3\boxed{\text{linha} 3}
NÃO CAIA NESSA!

Contar as linhas errado: a primeira linha é ' A B C ', a segunda ' 1 2 3 ' e a terceira ' X Y Z ' — o Y está na terceira, não na segunda.

Passo 2 — Ver a saída do grep com numeração

A opção -n do grep adiciona o número da linha antes do conteúdo, separado por dois-pontos. Isso é essencial para o próximo comando, que vai usar esse ':' como delimitador.

3 :XYZ\boxed{3\ :\text{X} \text{Y} \text{Z}}
NÃO CAIA NESSA!

Esquecer que o -n insere o número e o ':' — sem ele, a saída seria apenas 'X Y Z'.

Passo 3 — Extrair o primeiro campo com cut

O cut vai 'fatiar' a linha usando o ':' como separador. Como a saída do grep tem apenas um ':', o primeiro campo é o número da linha, e o segundo é o conteúdo. Queremos o número, então usamos -f1.

3\boxed{3}
NÃO CAIA NESSA!

Usar -f2 em vez de -f1, o que daria 'X Y Z' — ou achar que o delimitador é espaço, o que confundiria os campos.

Resposta: 3 — alternativa B

Link permanente: /questoes/vu212409