У меня есть файл CSV с именем, как "awk_column_select_test.csv"
AWK, чтобы выбрать столбцы из файла больше, чем определенное количество
a,b,c
0.2,0.4,0.5
0.3,0.6,0.7
0.4,0.8,0.9
Я пытаюсь написать код AWK для выбора строки, в которых либо столбец 1 или столбец 2 или столбец 3 отлично, чем 0,5.
Моя программа AWK, названный "awk_select_column_test.awk" выглядит следующим образом:
#!/usr/bin/awk -f
BEGIN {FS=","; cutoff="0.5"}
{$1 > cutoff || $2 > cutoff || $3 > cutoff}
END {print}
Затем я попытался запустить в командной строке с помощью:
awk -f awk_select_column_test.awk awk_column_select_test.csv
я получил следующий вывод только с 1 ряд:
0.4,0.8,0.9
Однако я надеялся получить 2 строки следующим образом:
0.3,0.6,0.7
0.4,0.8,0.9
Спасибо всем за большую помощь. Я попытался удалить цитату из 0,5 и удалить фигурные скобки {} и «END {print}». Тогда это работает. Функциональный код: – JeffZheng
'BEGIN {FS =", "; cutoff = 0.5} ' ' $ 1> cutoff || $ 2> обрезание || $ 3> cutoff 'Удивительно, если я цитирую 0.5 или использую курчавую {}, или использую« END {print} », это не сработает. Мне было интересно, можете ли вы объяснить, почему это не работает, чтобы указать 0.5 или использовать курчавый {} или использовать последний оператор печати. Благодарю. – JeffZheng