При поиске быстрого способа правой обрезки текстовой строки я нашел следующую вики-страницу:
Страница обрезки вики
В главе о AWK он дает 2 набора примеров:
ltrim(v) = gsub(/^[ \t]+/, "", v)
rtrim(v) = gsub(/[ \t]+$/, "", v)
trim(v) = ltrim(v); rtrim(v)
или
function ltrim(s) { sub(/^[ \t]+/, "", s); return s }
function rtrim(s) { sub(/[ \t]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
Нижний пример полностью знаком и прекрасно работает, но первый пример выглядит иначе, чем то, что я видел за 20 лет программирования на AWK. Похоже, действительно полезный быстрый способ определить и использовать функцию в одной строке. Я не могу заставить этот синтаксис работать в GNU Awk 3.1.5 - так это что-то, что было введено в более поздней версии?
Буду признателен за реальный рабочий пример, если кто-нибудь знаком с этим синтаксисом.