У меня был файл объемом 18 ГБ, который мне нужно было загрузить по менее чем хорошему интернет-соединению. Торрент не было вариантом. Итак, я разбил файл на 100 сегментов, и в конце концов все это загрузилось. Теперь мне нужно собрать файлы обратно, используя программу, похожую на cat.
Так что мне нужно перечислить файлы в порядке подсчета и объединить их. Имена файлов идут примерно так: SomeFile1.dcd, SomeFile2.dcd, SomeFile3.dcd SomeFile10.dcd, ... SomeFile100.dcd
для правильной работы конкатенации. Мне нужно перечислить файлы в обычном числовом порядке, в противном случае рамки будут все закручены.
Как я могу перечислить файлы в обычном числовом порядке 1,2,3,4 .... типа?
Используя bash
расширение фигурной скобки:
cat SomeFile{1..100}.dcd >final_file
у Вас может быть проверка сначала для наблюдения, до каких файлов она расширяется:
echo SomeFile{1..100}.dcd
Здесь {1..100}
будет расширен до 1,2,3....100
.
Пример:
$ echo SomeFile{1..5}.dcd
SomeFile1.dcd SomeFile2.dcd SomeFile3.dcd SomeFile4.dcd SomeFile5.dcd
perl
может также использовать синтаксис расширения в циклах:
perl -e 'print "SomeFile$_.dcd " for 1..100' > foo.txt
с использованием find
и sort
find . -maxdepth 1 -type f -name "*.dcd" | sort -V
Шаблоны Globbing расширятся до , заказал список файлов (и каталоги) соответствие globbing шаблону;
, Если у Вас есть только те файлы в Вашем текущем рабочем каталоге, просто:
cat * > out
Или при отсутствии других файлов / каталоги, которые запускаются с "SomeFile":
cat SomeFile* > out
Или при отсутствии других файлов / каталоги, которые заканчиваются ".dcd":
cat *.dcd > out
кроме того, в zsh
, можно включать только регулярные файлы с помощью *(.)
globbing шаблон:
cat *(.) > out
cat SomeFile*(.) > out
cat *(.).dcd > out