URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6303
[ Назад ]

Исходное сообщение
"awk print диапазон полей"

Отправлено rmf , 27-Мрт-07 14:17 
строка представляет собой переменный набор полей
кол-во полей всегда больше чем некая постоянная величина

например:

сторка1: f1 f2 f2
сторка2: f1 f2 f3 f4 f5 f6
сторка2: f1 f2 f3 f4

можно ли на awk получить примерно такую конструкцию:
awk '( $2 == условие ) { print $3,все оставшиеся поля до конца строки }'


Содержание

Сообщения в этом обсуждении
"awk print диапазон полей"
Отправлено phpcoder , 27-Мрт-07 14:24 
>можно ли на awk получить примерно такую конструкцию:
>awk '( $2 == условие ) { print $3,все оставшиеся поля до
>конца строки }'


Кажется, можно. $NF вроде как раз для этого.


"awk print диапазон полей"
Отправлено vic , 27-Мрт-07 16:36 
>>можно ли на awk получить примерно такую конструкцию:
>>awk '( $2 == условие ) { print $3,все оставшиеся поля до
>>конца строки }'
>
>
>Кажется, можно. $NF вроде как раз для этого.

если поля не могут совпадать по значениям (типа $1 == $3), то можно так:
awk '{ if ($2 == <condition>) print substr($0, index($0, $3)); }'

другой вариант
awk '{ if ($2 == <condition>) print $0; }' | cut -f 3- -d' '


"awk print диапазон полей"
Отправлено rmf , 27-Мрт-07 16:43 
>awk '{ if ($2 == <condition>) print $0; }' | cut -f 3- -d' '

точно, спасибо, все гениальное просто