Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — VUNESP 2026

Sistemas OperacionaisLinux
Código
gp021213
Banca
VUNESP
Órgão
UNESP
Ano
2026
Cargo
V - - Analista de Informática I - Área de Atuação: Redes e Infraestrutura
Em um sistema operacional Linux, o arquivo dadospossui o seguinte conteúdo:111 222 333000 001 010 011Assinale a alternativa que apresenta o corretovalor impresso ao digitar no terminal o comandoawk ‘{print NF}’ dados
  1. A111 222 333
  2. B000 001 010 011
  3. C333 011
  4. D3 4
  5. Edado
Revelar gabarito e comentário

GabaritoD — 3 4

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 D — a conta chega a 3 e 4, um por linha — alternativa D.

A ideia por trás

O awk é um processador de texto que lê um arquivo linha por linha e divide cada linha em campos, usando espaços ou tabulações como separadores. Cada campo é numerado: $1 é o primeiro, $2 o segundo, e assim por diante. A variável NF (Number of Fields) guarda quantos campos a linha atual tem — é um número, não o conteúdo dos campos.

Quando você escreve {print NF}, o awk executa essa ação para cada linha: ele imprime o valor de NF daquela linha. Como NF é atualizado a cada linha, a saída tem um número por linha, na ordem em que as linhas aparecem. Se você quisesse o conteúdo do último campo, usaria $NF — o cifrão faz toda a diferença: NF é a contagem, $NF é o valor.

Esta questão testa exatamente a diferença entre NF (número de campos) e o conteúdo dos campos. Basta contar quantos campos há em cada linha do arquivo.

O que a questão dá

  • arquivo 'dados' com duas linhas: '111 222 333' e '000 001 010 011'

  • comando: awk '{print NF}' dados

O que queremos: o que o comando imprime na tela

Passo 1 — Contar os campos da primeira linha

O awk processa o arquivo linha por linha, e para cada linha ele calcula NF. Começamos pela primeira linha para saber o primeiro número que será impresso.

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

Contar os números como se fossem um único campo — cada número separado por espaço é um campo distinto.

Passo 2 — Contar os campos da segunda linha

O awk continua para a próxima linha e recalcula NF. Precisamos do segundo número que será impresso.

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

Achar que a segunda linha tem 3 campos por causa dos zeros à esquerda — cada grupo de três dígitos é um campo.

Passo 3 — Montar a saída na ordem das linhas

O comando imprime um valor por linha, na ordem em que as linhas aparecem no arquivo. Juntando os dois resultados, temos a saída completa.

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

Confundir com $NF, que imprimiria os últimos campos (333 e 011) — a ausência do cifrão muda tudo.

Resposta: 3 e 4, um por linha — alternativa D

Link permanente: /questoes/gp021213