Объединение / объединение большого количества файлов csv с числовыми цифрами в имени файла

Когда мы обрабатываем наши данные csv, мы генерируем много выходных файлов с 30 000 строк в каждом из них. Все они имеют одинаковые столбцы / поля. Все они также в формате csv, и мы помещаем их в одну и ту же папку на сервере Linux. Файлы уникально названы с использованием комбинации даты, времени и числовых цифр. См. Ниже.

AB_20151127_120000_0_SEGMENT_FINAL.csv
AB_20151127_120000_1_SEGMENT_FINAL.csv
AB_20151127_120000_2_SEGMENT_FINAL.csv
AB_20151127_120000_3_SEGMENT_FINAL.csv
.
.
.
AB_20151127_120000_599_SEGMENT_FINAL.csv

Итак, теперь нам нужно объединить / соединить все их в один большой файл с именем: AB_20151127_120000_SEGMENT_FINAL.csv (обратите внимание на недостающие числовые цифры из объединенного файла)

[d2 ] Я попробовал awk, как показано ниже, но он не работает. Пожалуйста, скажите мне, что я сделал неправильно.

awk '"AB_20151127_120000_" NR-1 "_SEGMENT_FINAL.csv"' > AB_20151127_120000_SEGMENT_FINAL.csv
1
задан 9 December 2015 в 14:47

1 ответ

Если у вас есть доступ к оболочке Zsh, задача может быть сведена к одной команде:

cat AB_20151127_120000_*(n)_SEGMENT_FINAL.csv >AB_20151127_120000_SEGMENT_FINAL.csv

Это связано с тем, что определитель globing (n) заставляет шаблон globing * расширяться к списку имен файлов, отсортированных в их естественном порядке, в отличие от их лексикографического порядка.

Для сравнения, расширение имени файла в Bash:

$ for f in *; do echo "$f"; done
AB_20151127_120000_0_SEGMENT_FINAL.csv
AB_20151127_120000_10_SEGMENT_FINAL.csv
AB_20151127_120000_1_SEGMENT_FINAL.csv
AB_20151127_120000_2_SEGMENT_FINAL.csv
AB_20151127_120000_3_SEGMENT_FINAL.csv

Расширение имени файла в Zsh с использованием [ f6] классификатор globbing:

% for f in *(n); do echo "$f"; done
AB_20151127_120000_0_SEGMENT_FINAL.csv
AB_20151127_120000_1_SEGMENT_FINAL.csv
AB_20151127_120000_2_SEGMENT_FINAL.csv
AB_20151127_120000_3_SEGMENT_FINAL.csv
AB_20151127_120000_10_SEGMENT_FINAL.csv
0
ответ дан 23 May 2018 в 15:10

Другие вопросы по тегам:

Похожие вопросы: