Я пытаюсь создать файл сценария awk, который принимает входной файл и преобразует четвертый столбец информации для первых трех строк в одну строку. Например, если input.txt выглядит следующим образом:
XX YY val1 1234
XX YY val2 2345
XX YY val3 3456
stuff random garbage junk extrajunk
useless 343059 random3
Я хочу напечатать четвертый столбец для строк 1, 2 и 3 в одну строку:
1234 2345 3456
Я был пытаясь сделать это с помощью операторов if / else-if, чтобы мой файл выглядел прямо сейчас так:
#!/usr/bin/awk -f
{
if ($1 == "XX" && $3 == "val1")
{
var1=$4;
}
else if ($1 == "XX" && $3 == "val2")
{
var2=$4;
}
else if ($1 == "XX" && $3 == "val3")
{
var3=$4;
}
}
END {print var1, var2, var3
, а затем я напечатал бы переменные в одной строке. Однако, когда я пытаюсь реализовать это, я получаю синтаксические ошибки, указывающие на символ "=" в строке var2 = $ 4.
EDIT
Решено, в моем реальный файл Я назвал переменные в стиле фанк (но описательные) имена, и это все испортило. - Упс.
Спасибо