Використання Bash
Так, скажімо, у мене є безліч файлів, випадковим чином розміщених у батьківській директорії ~/src
, я хочу захопити всі файли, що відповідають певному суфіксу, і перемістити (або скопіювати) їх у ~/dist
каталог.
Припустимо для цієї мети, що всі імена файлів мають цю умову іменування:
<filename_prefix>.<filename_suffix>
Я дізнався, що це швидкий спосіб отримати всі файли з певним filename_suffix
і помістити їх у папку dist:
mkdir ~/dst
find source -name "*.xxx" -exec mv -i {} -t ~/dst \;
Тепер крок далі ... як я можу використовувати в такому випадку вихід результату пошуку 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