LINUX.ORG.RU

[awk] [shell-scripting] Распарсить кучу подобных файлов


0

0

Привет!
Есть кучка файлов, вида:

name1  || name2  || name3  || name4  || name5[br]
field1 || field2 || field3 || field4 || field5  [br]

field и name - переменные, расположение которых не известно, но известно, что среди них есть переменные с определенным значением.
Из каждого файла надо вытащить столбцы с определенным name.
Т.е.:
файл1:
[br]
a || b || c || d || e[br]
1 || 2 || 3 || 4 || 5

файл2:
[br]
b || c || e || d || a[br]
1 || 2 || 3 || 4 || 5

Надо вытащить все значения a, например.
Как это авком сделать?

Т.е., логика вида, если значение в поле 5 первой строки равно a, то печатаем все пятые поля всех строк.

NekoExMachina ()

NekoExMachina> Надо вытащить все значения a, например.

Почитай уже про awk

awk -v f="a" 'NR==1 {for(i=1;i<=NF;i++) if($i==f) n=i}; NR>1 {print $n}'

sdio ★★★★★ ()
Ответ на: комментарий от sdio

Я прочитал про авк гугл.
Гугл не дал мне большой-большой ман, а дал маленький хау-ту.
К сожалению.
Обязуюсь больше глупых вопросов не задавать.

NekoExMachina ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.