[awk]Отрезать от строки начальные поля

apl13

Как бы поизящнее сделать субж?
Я, было, решил в лоб:
$echo 'a b c d' | awk -v OFS=":" '{$1 = ""; $2 = ""; print}'
::c:d

Получается строка, в которой первые поля стали пустыми - но остались, что выражается в OFS-ах, с которых начинается результирующая строка.
Из глубины веков, конечно, пришел метод, рожденный на Си:
$echo 'a b c d' | awk -v OFS=":" '{for(i = 3; i <= NF; i++) $(i-2) = $i; NF -= 2; print}'
c:d

Но хочется изящнее...
Неужели нельзя?
ЗЫ. Во избежание спекуляций - это гавк, и он без --posix.

tokuchu

echo 'a b c d' | awk '{print $3 " " $4;}'

apl13

$echo 'a b c d e f' | awk '{print $3 " " $4;}'
c d

Vladu

echo 'a b c d e f' | cut -d' ' -f3- --output-delimiter=:

apl13

Хех. Спасибо!
Оставить комментарий
Имя или ник:
Комментарий: