Questão de Sistemas Operacionais — Linux — VUNESP 2023
Sistemas Operacionais›Linux
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:
Agrep -c data file.txt
Bgrep -i data file.txt
Cgrep -n data file.txt
Dgrep -o data file.txt
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.
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.