Как распечатать определенное поле в зависимости от входных данных?

Как распечатать определенное поле в зависимости от входных данных?

Допустим, текстовый файл содержит 2 столбца: один — название вина, другой — количество бутылок этого вина.

Я хочу создать скрипт, при запуске которого пользователь вводит число от 1 до 30, и он покажет мне все наименования вин в алфавитном порядке, у которых на складе осталось это число.

Как мне это сделать?

решение1

Если ваши поля определены пробелами, вы можете просто сделать:

awk '$2==30' file

Это выведет все строки, fileчье второе поле — 30. Если вам нужно только первое поле, имя, используйте:

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

А чтобы получить их в алфавитном порядке, пропустите вывод через sort:

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

Связанный контент