У меня есть список файлов в каталоге They, названы:
2.pdb
3.pdb
14.pdb
...
200.pdb
...
1240.pdb
Я хотел бы объединить все их в этом определенном порядке. Когда я использую
cat *pdb > pdb_all.txt
кажется, что это просто делает случайную комбинацию (или возможно это, запуски будут все файлы, которые начинаются с номера 1 (неважно, если это 1, 10 или, 1000). Я могу заставить эту команду объединить мои файлы в определенном порядке, или я переименовываю все свои файлы для содержания 4 цифр (например, 0002, 0003, 0014 и т.д.). Я подозреваю, что последний является самым легким путем, но как я делаю это с mv
команда на Mac?
Самый легкий путь состоит в том, поскольку Вы говорите, чтобы переименовать Ваши файлы и добавить, что продвижение обнуляет. Можно сделать это в терминале на Mac как это:
for a in *.pdb; do mv $a `printf %05d.%s ${a%.*} ${a##*.}`; done
В этом примере я определил тот каждый номер, должен содержать 5 цифр. Так 1.pdb будет переименован к 00001.pdb. Однако Вы могли понизить это к 4 или безотносительно исков Ваша потребность.
Удачи!
Редактирование
, Чтобы заставить его работать с pdbid.1
суффикс, это - ответ:
for a in *.pdbid.1; do mv $a `printf %05d.%s ${a%.*.*} ${a#*.}`; done
Я использовал бы комбинацию находки, вида и xargs для достижения чего-то вроде этого.
find ./ -name "*.pdb" | sort -n | xargs cat > pdb_all.txt