awk для Чайников (Помогите разобраться в чужом коде)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
am3k
Сообщения: 33

awk для Чайников

Сообщение am3k »

Есть кусок кода:

Код: Выделить всё

awk 'BEGIN{printf "All exports:\n"}
    {if ($2 ~ str)
  {printf "%s\n",$1}
    }' str=$count test

test - имя файла, где расположены данные в виде
"продукт страна кол-во цена"
Код должен делать вто что - вводишь страну, он кидает в $count. Далее для каждой страны выводится список товаров.
Суть в том, что сложно понять мне как сдесь работает awk =) Будьте добры, объясните пожалуйста :unsure: :rolleyes:
Together we stand, divided we fall...
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: awk для Чайников

Сообщение elide »

ну а чего тут понимать?
сначала ( BEGIN{printf "All exports:\n"} ) пишет "All exports\n" (:
а потом для каждой строки проверяет, совпадает ли страна (второе поле, ака $2) с заданной. если совпадает, то пишет ( {printf "%s\n",$1} ) название товара (первое поле, ака $1)...
слава роботам!
Спасибо сказали: