Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — VUNESP 2023

Sistemas OperacionaisLinux
Código
vu197500
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Aud ( )

Uma das utilidades do comando grep é encontrar linhas que possuam determinadas strings em arquivos. Um usuário de sistema operacional Linux quer identificar quais são os números das linhas do arquivo file.txt que possuem a palavra data. Para tal, ele pode digitar no terminal o comando:

  1. Agrep -c data file.txt
  2. Bgrep -i data file.txt
  3. Cgrep -n data file.txt
  4. Dgrep -o data file.txt
  5. Egrep -v data file.txt
Revelar gabarito e comentário

GabaritoE — grep -v data file.txt

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

Comando grep no Linux: identificando números de linha

Gabarito: letra E. Para identificar os números das linhas do arquivo file.txt que contêm a palavra "data", o usuário deve usar a opção -n do comando grep, que prefixa cada linha correspondente com seu número. As demais opções (-c, -i, -o, -v) realizam outras funções, como contar, ignorar maiúsculas/minúsculas, extrair apenas a parte correspondente e inverter a seleção, respectivamente.

O comando grep é uma ferramenta fundamental no Linux para busca de padrões em arquivos. Ele lê o arquivo linha por linha e exibe aquelas que correspondem ao padrão especificado. A opção -n (ou --line-number) é exatamente o que o enunciado pede: ela adiciona o número da linha no início de cada resultado, permitindo ao usuário saber em quais linhas do arquivo a palavra "data" aparece.

Para entender melhor, considere um arquivo file.txt com o seguinte conteúdo:

1: hoje é um dia de sol
2: a data de hoje é 10/10
3: amanhã será outro dia

Ao executar grep -n data file.txt, a saída será:

2:a data de hoje é 10/10

Isso mostra que a palavra "data" está na linha 2. Sem a opção -n, o comando grep data file.txt exibiria apenas a data de hoje é 10/10, sem informar o número da linha.

A pegadinha desta questão está em confundir as opções do grep. Cada uma tem uma finalidade distinta, e a banca explora exatamente essa confusão. Vamos analisar cada alternativa para fixar o conceito.

1-c (contagem)
conta linhas correspondentes
não exibe números
2-i (ignorar)
ignora maiúsculas/minúsculas
não exibe números
3-o (only)
extrai só o trecho correspondente
não exibe números
4-v (inverter)
mostra linhas que NÃO correspondem
oposto do desejado
5-n (line-number)
prefixa cada linha com seu número
identifica números das linhas
Opções do grep
LEVELsoulevel.com.br
Opções do grep: -c (contagem) (conta linhas correspondentes, não exibe números); -i (ignorar) (ignora maiúsculas/minúsculas, não exibe números); -o (only) (extrai só o trecho correspondente, não exibe números); -v (inverter) (mostra linhas que NÃO correspondem, oposto do desejado); -n (line-number) (prefixa cada linha com seu número, identifica números das linhas)

Alternativa A — ❌ Incorreta

A opção -c conta o número de linhas que correspondem ao padrão, mas não exibe as linhas nem seus números. No exemplo, grep -c data file.txt retornaria 1, apenas o total, sem indicar qual linha. O erro está em confundir "contar" com "identificar números de linha".

Alternativa B — ❌ Incorreta

A opção -i ignora diferenças entre maiúsculas e minúsculas na busca. Ela não tem relação com a exibição de números de linha. Se o arquivo tivesse "Data" ou "DATA", grep -i data encontraria, mas ainda sem mostrar os números.

Alternativa C — ❌ Incorreta

A opção -o exibe apenas a parte da linha que corresponde ao padrão, não a linha inteira nem o número. Por exemplo, grep -o data file.txt mostraria apenas data, sem contexto. Não atende ao pedido de identificar números de linha.

Alternativa D — ❌ Incorreta

A opção -v inverte a seleção: mostra as linhas que não contêm o padrão. Portanto, grep -v data file.txt exibiria todas as linhas exceto as que têm "data", o oposto do desejado.

Alternativa E — ✅ Correta ⟵ GABARITO

A opção -n (ou --line-number) prefixa cada linha correspondente com seu número. É exatamente o que o enunciado pede: identificar os números das linhas que possuem a palavra "data". No exemplo, grep -n data file.txt retornaria 2:a data de hoje é 10/10, mostrando o número da linha.

NÃO CAIA NESSA!

A banca troca as opções do grep para confundir: -c conta, -i ignora maiúsculas, -o extrai só o trecho, -v inverte. O candidato que decora apenas o nome do comando, sem saber o que cada opção faz, cai fácil. Com treino, você enxerga essas trocas de longe 💪.

PEGA ESSA DICA!

Para memorizar, associe cada opção a uma palavra-chave: -n = número de linha, -c = contagem, -i = ignorar maiúsculas, -o = only (só o trecho), -v = voltar (inverter). Na prova, leia o que o enunciado pede e case com a função.

Gabarito: letra E

Link permanente: /questoes/vu197500