Объединение значений из разных файлов в один файл CSV.
Вопрос
У меня есть пара файлов, содержащих значение в каждой строке.
РЕДАКТИРОВАТЬ :
Я придумал ответ на этот вопрос, пока писал пост, и не осознавал, что разместил его по ошибке в неполном виде.
Я пытался сделать:
paste -d ',' file1 file2 file 3 file 4 > file5.csv
и получал странный результат.Позже я понял, что это происходит потому, что в некоторых файлах в конце строки имелся и возврат каретки, и символ новой строки, тогда как в других был только символ новой строки.Я должен всегда помнить, что нужно обращать внимание на эти вещи.
Решение
файл 1:
1 2 3
файл2:
2 4 6
paste --delimiters=\; file1 file2
Будет давать:
1;2 3;4 5;6
Другие советы
У меня такое ощущение, что вы еще не закончили вводить свой вопрос, но я все же попробую.;)
file1: file2: file3:
1 a A
2 b B
3 c C
~$ paste file{1,2,3} |sed 's/^\|$/"/g; s/\t/","/g'
"1","a","A"
"2","b","B"
"3","c","C"
Или,
~$ paste --delimiter , file{1,2,3}
1,a,A
2,b,B
3,c,C
вам, вероятно, нужно уточнить или изменить тег вашего вопроса, но в его нынешнем виде ответ приведен ниже.
объединение двух файлов в Linux
cat filetwo >> fileone
Также не забывайте об универсальности ЛогПарсер если вы используете Windows.
Он может выполнять SQL-подобные запросы к простым текстовым файлам для выполнения всех видов операций слияния.
Предыдущие ответы с использованием logparser или инструментов командной строки должны работать.Если вы хотите выполнить с записями более сложные операции, такие как фильтрация или объединение, вы можете рассмотреть возможность использования инструмента ETL (на ум приходят Pentaho, Mapforce и Talend).Эти инструменты обычно предоставляют вам графическую палитру для определения связей между источниками данных и любыми операциями, которые вы хотите выполнить со строками.