Однажды показал коллеге, как пользоваться awk'ом. Теперь он во все свои скрипты пихает тот пример, на котором я ему показывал, с небольшими изменениями под каждую задачу.
В одном из скриптов ему нужно было записать в переменную вывод команды. Команда выводит число. О конструкциях `cmd` и $(cmd) он не знал или забыл, и решил задачу примерно так (детали опущены):
cmd > cmd.list
cat cmd.list |
awk "
BEGIN {
result = 0;
}
{
result = \$1;
}
END {
exit result;
}
"
number=$?