Сопоставление столбцов в разных файлах csv, не работает, когда значение столбца разной длины

Вы можете передать объединенные файлы в awk дважды, в первый раз ( NR == FNR ) для вычисления сумма третьего столбца ( $ 3 ) во всех файлах и второй раз для замены существующих значений итоговым значением:

awk 'NR==FNR{sum+=$3;next}; {$3=sum; print}' <(cat file1 file2...fileN) \
<(cat file1 file2...fileN) > result.txt
0
22.04.2018, 17:50
1 ответ

Оказалось, что это проблема приведения, поэтому я добавил 0 в столбцы, чтобы убедиться, что оба они обрабатываются awk одинаково.

С помощью:https://stackoverflow.com/questions/5808971/casting-to-int-in-awk

Это сработало..

awk -F, 'NR==FNR{c[$1+0,$2,$3]++;next};c[$120002+0,$120003,$120004] > 0' small.csv large.csv > output.csv
1
28.01.2020, 02:43

Теги

Похожие вопросы