2016-11-25 8 views
-1

У меня есть более или менее 100 CSV-файлов, и я хочу объединить их в один файл file.csv в той же строке и упорядочить по дате изменения.Как я могу присоединиться к различным CSV-файлам только в одной разделенной запятой в той же запятой?

На самом деле я использую paste -d, *.csv > out.csv но файлы называются так:

sample_1

И упорядочивает содержимое так:

sample_100 
sample_101 
sample_102 
... 
sample_10 
sample_110 
sample_111 
... 

Требуемый порядок является:

sample_1 
sample_2 
sample_3 
... 
sample_100 

Решение может быть заказано по дате изменения по I dont kno w how, может быть что-то вроде ls -latr | paste -d, *.csv > out.csv

Спасибо!

ответ

0
for i in $(ls -t); do paste -d, $i >> out.csv; done 

ls -t: перечислит файлы и закажет их по времени изменения.

«>>»: вместо> конкатенировать и не стереть предыдущее содержимое

Я тестировал его на месте, и она работает хорошо для меня.

+0

Он дает выходной файл CSV с содержимым в том же столбце, как я могу поместить его в одну строку? –

+0

'sed 's/^ | $/\ x27/g' out.csv | paste -sd,> out2.csv' после вашей команды и ее okey Спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^