Como imprimir um determinado campo dependendo da entrada?

0

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

Eu quero criar um script que, quando executado, o usuário insira um número 1-30 e ele mostrará todos os nomes de vinhos em ordem alfabética que têm esse número em estoque.

Como posso fazer isso?

    
por Zach P 24.11.2017 / 16:07

1 resposta

1

Se seus campos são definidos por espaço em branco, você pode simplesmente fazer:

awk '$2==30' file

Isso imprimirá todas as linhas de file cujo segundo campo é 30 . Se você quer 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 meio de ordenação:

awk '$2==30{print $1}' file | sort
    
por 24.11.2017 / 16:12