Questão de Sistemas Operacionais — Geral — VUNESP 2024
- Código
- vu212409
- Banca
- VUNESP
- Órgão
- Pref Osasco
- Ano
- 2024
- Cargo
- Ana ( )
- A2
- B3
- C3,2
- DX Y Z
- EB 2 Y
GabaritoB — 3
Gabarito: letra B — a conta chega a 3 — alternativa B.
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'.
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
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.
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.
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.
Esquecer que o -n insere o número e o ':' — sem ele, a saída seria apenas 'X Y Z'.
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.
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