2015-08-04 2 views
0

У меня есть CSV-файл с 5 столбцов, называемых "in.csv":Анализ CSV файл по команде Linux

2,3,4,5,6 
12,11,13,4,44 

Я хочу, чтобы проверить, если для каждого столбца, столбец (1) + колонка (2) = = столбец (3) и столбец (4) == Столбец (5) выполняется или нет, используя некоторую команду Smart Linux.

ответ

2

Возьмем это в качестве входного образца:

$ cat in.csv 
2,3,4,5,6 
12,11,13,4,44 
2,3,5,8,8 
2,3,5,8,9 

Это будет печатать все строки, для которых столбец »(1) + колонка (2) == колонка (3) и столбец (4) = = столбец (5) имеет место»:

$ awk -F, '$1+$2==$3 && $4==$5' in.csv 
2,3,5,8,8 

Это будет печатать все строки, для которых "колонок (1) + колонок (2) == колонка (3)" держит, игнорируя столбцы 4 и 5:

$ awk -F, '$1+$2==$3' in.csv 
2,3,5,8,8 
2,3,5,8,9 

Это будет печатать все строки, для которых "колонка (1) + колонка (2) == колонка (3)" неверно:

$ awk -F, '$1+$2!=$3' in.csv 
2,3,4,5,6 
12,11,13,4,44 
Смежные вопросы