Есть два файла CSV Я хочу сравнить. Однако у них есть другой порядок заголовков и строк/значений.Как сортировать CSV-файл по заголовку?
Вот простой пример:
ВХОД FILE1:
NAME,AGE,BDAY
ABC,1,090214
DEF,1,122514
ВХОД FILE2:
BDAY,NAME,AGE
122514,DEF,1
090214,ABC,1
ВХОД file3:
BDAY,NAME,AGE
122514,DEFG,1
090214,ABC,1
Diff FILE1 и FILE2
No diffs.
Diff FILE1 и file3
Found diffs in FILE and FILE3.
<Any format of diffs is okay.>
Я могу легко создать PERL скрипт для этого, но прежде, чем я, кто-нибудь знает, если есть существующий скрипт/инструмент, который уже делает это?
Я попытался скопировать файлы из UNIX в Windows и отсортировать их с помощью Excel. Он работает хорошо, но у меня проблемы с сохранением.
У меня также есть googled, но я не могу найти ссылку для этого.
Спасибо за любые входные данные.
Это немного неясно, что вы спрашиваете: как изменить порядок? как сортировать? укажите желаемый результат, чтобы сделать его понятным. Подсказка: 'awk' может выполнить задание, переключая столбцы. – fedorqui
Вы можете изменить порядок столбцов с помощью AWK, но вам нужно будет указать порядок 'cat file1 | awk -F ',' 'BEGIN {OFS = ",";} {print $ 3, $ 1, $ 2}' ' –
@ChrisDoyle да, хорошая точка.Обратите внимание, что нет необходимости в 'cat':' awk 'BEGIN {FS = OFS = ","} {print ...}' file' делает это. – fedorqui