Использование Bash
Допустим, у меня есть несколько файлов, случайно размещенных в родительском каталоге ~/src, я хочу получить все файлы, соответствующие определенному суффиксу, и переместить (или скопировать) их в ~/distкаталог.
Для этого предположим, что все имена файлов имеют следующее соглашение об именах:
<filename_prefix>.<filename_suffix>
Я обнаружил, что это был быстрый способ получить все файлы с определенными данными filename_suffixи поместить их в папку dist:
mkdir ~/dst
find source -name "*.xxx" -exec mv -i {} -t ~/dst \;
Теперь шаг вперед ... как я могу использовать выходные данные find, в этом случае filename, и использовать filename_prefixдля создания каталога с тем же именем ~/distи затем переместить (или скопировать) все файлы с этим префиксом в соответствующий каталог?
mkdir ~/dst
find source -name "*.xrt,*.ini,*.moo" -exec mv -i {} -t ~/dst \;
По сути, как мне изменить вышеуказанную команду (или, возможно, использовать другую команду), чтобы создать структуру, подобную этой
(ВЫВОД)
~/dist/people/people.xrt
~/dist/games/games.xrt
~/dist/games/games.moo
~/dist/games/games.ini
~/dist/monkeys/monkeys.ini
~/dist/monkeys/monkeys.xrt
из дерева каталогов, как это?
(ВХОД)
~/src/xrt/people.xrt
~/src/xrt/games.xrt
~/src/conf/games.ini
~/src/pack/monkeys.xrt
~/src/e344/games.moo
~/src/e344/monkeys.moo
~/src/en-us/monkeys.ini