Como imprimir um determinado campo dependendo da entrada?

Como imprimir um determinado campo dependendo da entrada?

Digamos que um arquivo de texto tenha 2 colunas, uma é o nome do vinho e a outra é um número de quantas garrafas existem.

Quero criar um script que, quando executado, o usuário insira um número de 1 a 30 e me mostre em ordem alfabética o nome de todos os vinhos que ainda possuem esse número em estoque.

Como eu posso fazer isso?

Responder1

Se seus campos forem definidos por espaços em branco, você pode simplesmente fazer:

awk '$2==30' file

Isso imprimirá todas as linhas filecujo segundo campo é 30. Se você quiser apenas o primeiro campo, o nome, use:

awk '$2==30{print $1}' file

E para obtê-los em ordem alfabética, passe a saída por sort:

awk '$2==30{print $1}' file | sort

informação relacionada