Утилита awk
— это нечто вроде швейцарского ножа для обработки текстовых файлов. Но некоторые ограничения awk
порой доставляют неудобства тем, кто этой утилитой пользуется. Я, для того чтобы упростить работу с awk
, создал несколько функций. Но сразу хочу сказать о том, что для работы этих функций нужны возможности GNU-версии awk
. Поэтому для того чтобы воспроизвести то, о чём я буду рассказывать, вам совершенно необходимо использовать gawk
и ничего другого. Возможно, в вашей системе настроено сопоставление /usr/bin/awk
с чем-то, и это «что-то» может представлять собой gawk
. Но это может быть и mawk
, и какая-то другая разновидность awk
. Если вы используете дистрибутив Linux, основанный на Debian, то знайте, что команда update-alternatives
— это ваш хороший друг. В данном материале я буду исходить из предположения о том, что его читатель использует gawk
.

После того, как вы прочитаете эту статью, вы узнаете о том, как пользоваться моей библиотекой дополнительных функций для awk
. А именно, речь идёт о разделении строки на поля даже в условиях, когда не существует единого символа, используемого для разделения полей. Кроме того, вы сможете обращаться к полям, используя выбранные вами имена. Например, вам не придётся помнить о том, что $2
— это поле, содержащее сведения о времени. Вместо этого можно будет просто воспользоваться конструкцией наподобие Fields_fields[«time»]
.
Читать полностью »