У меня есть каталог, содержащий файлы с именования:объединить все текстовые файлы в один с именем файла в строке
test.201506010000.csv
test.201506010005.csv
test.201506010010.csv
...
test.201506302355.csv
Каждый файл сохраняет числовое значение в нем. Я хотел бы объединить все файлы в один (с удалением исходных файлов, строка за строкой), а также я хотел бы поместить дату с имени файла перед каждой строкой.
Желаемая цель:
merged.csv
2015-06-01 00:00,<value_of_text.201506010000.csv>
2015-06-01 00:05,<value_of_text.201506010005.csv>
...
2015-06-30 23:55,<value_of_text.201506312355.csv>
Это почти нормально, но присоединяет дату только в первой строке каждого файла. Я не упомянул - в одном файле может быть несколько строк. Мне нужно это для всех строк во всех файлах. А также не добавлять запятую после даты 4-я строка должна быть выше, должна добавить ',' – golazo
@golazo: Проверьте обновление. – choroba
все еще что-то не так. У меня есть два файла: «test.nfcapd.201506010000.csv» и «test.nfcapd.201506010005.csv» оба из них имеют 4 строки содержимого. merge.sh 'для файла в * .csv; do time = $ {file # count.nfcapd.} time = $ {time% .csv} time = $ {time: 0: 4} - $ {time: 4: 2} - $ {time: 6: 2} '' $ {время: 8: 2}: $ {время: 10: 2} ',' sed "s/^/$ time, /" "$ file" сделано> merge.csv ' в результат: у меня есть 16 строк в файле merge.csv 8 с правильным результатом, но следующий 8 со странным приложением до поля даты 'merg-e-:,' – golazo