Intereting Posts
Проблемы при разметке eMMC с использованием sfdisk Как передать закрытый ключ ssh через строку, а не файл? xbindkeys: процесс не найден Почему маршруты, установленные в / etc / network / interfaces, не добавляются при появлении интерфейса? Возникли проблемы при установке ниндзя на Gentoo Карты мертвых ключей отсутствуют только в определенных программах Каков наилучший способ проверить подключение к Интернету в фоновом режиме? Существует ли стандартный способ запуска и остановки служб в Linux? Может ли пропускать «fsck» при загрузке через последовательный порт? Как chroot в загрузочную среду? Как проверить мою цепочку DNS? Добавление маршрута из внутренней сети во внешнюю сеть Как нечувствительные к регистру файловые системы отображают имена файлов верхнего и нижнего регистра? Документация по LESS_TERMCAP_ * переменным? Попытка настроить дополнительный виртуальный терминал на debian jessie boot

сравнить два CSV-файла и добавить результат в новый столбец

У меня есть два файла CSV текущего файла New.csv и предыдущей версии Old.csv. Вот как они выглядят:

old.csv

name,age,lastname,film,song,mother,fadher,col0,col1,col3,col4,col5,col6,col7,a,b,z,t jay,23,,stgh,tt,,,,,,,,,,, Ann,32,,,,,,,,,,,,,,,, Chris,43,titanic,hi,,,,,,, 

new.csv

 name,age,lastname,film,song,mother,fadher,col0,col1,col3,col4,col5,col6,col7,a,b,z,t jay,23,,stgh,tt,,,,,,,,,,, alex,22,,hello,,,,,,,,,,,jed,,, 

Я хочу сравнить их, используя команды Linux, и нашел такой результат:

 status,name,age,lastname,film,song,mother,fadher,col0,col1,col3,col4,col5,col6,col7,a,b,z,t Common,jay,23,,stgh,tt,,,,,,,,,,, New,alex,22,,hello,,,,,,,,,,,jed,,, Old,Ann,32,,,,,,,,,,,,,,,, Old,Chris,43,titanic,hi,,,,,,, 

Использование awk одним из способов:

 awk 'NR==FNR && NR>1{seen[$0]++; next} NR==1{ print "Status," $0} FNR!=1{print ($0 in seen)?"Common," $0:"New," $0;delete seen[$0];} END{for (x in seen) print "Old," x}' old.csv new.csv 

Выход:

 Status,name,age,lastname,film,song,mother,fadher,col0,col1,col3,col4,col5,col6,col7,a,b,z,t Common,jay,23,,stgh,tt,,,,,,,,,,, New,alex,22,,hello,,,,,,,,,,,jed,,, Old,Chris,43,titanic,hi,,,,,,, Old,Ann,32,,,,,,,,,,,,,,,,