У меня есть файлы с именем file.88_0.pdb
, file.88_1.pdb
, ...
, file.88_100.pdb
. Я хочу, чтобы cat
они file.88_1.pdb
вставлялись после file.88_0.pdb
, file.88_2.pdb
после file.88_1.pdb
и так далее. Если я это сделаю cat file.88_*.pdb > all.pdb
, файлы будут собраны в следующем порядке: 0 1 10 11 12 13 14 15 16 17 18 19 2 20...
и т. Д. Как мне их собрать, чтобы порядок был 0 1 2 3 4 5 6...
?
files
cat
text-formatting
нитрат натрия
источник
источник
Ответы:
использование
brace expansion
Чтобы игнорировать печать сообщений об ошибках для несуществующих файлов, используйте:
В
zsh
оболочке также есть спецификатор globbing(n)
для запроса числовой сортировки (в отличие от алфавитного по умолчанию ) для глобусов:источник
или, относительно комментария Jesse_b:
источник
В shell без расширения скобки вы можете использовать
ls
+xargs
:ls отсортирует файлы в числовом порядке:
-v
естественный вид (версии) чисел в тексте.источник
Пытаться:
Это было возможно для
sort
файлов по-k2
второму полю ( ) с использованием_
в качестве разделителя. Здесь вы должны использовать>>
иначе, каждый новый файл будет перезаписывать последний.источник
0 1 10 11 12...
sort --version
то, что получаешь? И у вас есть-n
в команде сортировки правильно?sort (GNU coreutils) 5.93
/dev/null
Дополнение к другому ответу было очень нужно!find ... | sort ... | xargs cat >> $output
этого.