← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Considere um arquivo de texto chamado "dados.txt" com o seguinte conteúdo: Nome: Joselito Idade: 30 Profissão: Engenheiro Salário: 8000 Assinale o comando que irá procurar pela linha que contém “Salário” e, em seguida, imprimir o valor do salário somado a 1000:

Gabarito: C

O awk é um daqueles comandos que parecem simples, mas fazem muito serviço pesado com poucas palavras. Ele lê o texto linha por linha, procura um padrão e permite acessar os campos separados por espaços. No arquivo dado, a linha do salário tem dois campos principais: o rótulo "Salário:" e o valor "8000". Em awk, os campos começam em $1, depois $2, $3 e assim por diante. Então, na linha "Salário: 8000", o valor numérico está em $2. Quando a expressão encontra a linha que contém "Salário", ela pode somar 1000 diretamente a esse campo. Por isso, o comando correto é o da alternativa C: awk '/Salário:/ {print $2 + 1000}'. Ele localiza a linha desejada e imprime o conteúdo do segundo campo já com o acréscimo de 1000. Se o valor fosse extraído como texto puro sem o campo certo, o resultado sairia errado ou vazio. Resumo de prova: padrão entre barras para localizar a linha, $n para pegar o campo, e operação aritmética para calcular o novo valor. É o tipo de questão em que uma posição de campo mal escolhida derruba tudo.

Continue treinando

Questões relacionadas