Сценарий меняет ваш текущий рабочий каталог, но затем он восстанавливается при выходе. Вместо набора ввода
cdscript
попробуйте ввести
. cdscript
, чтобы запустить ваш скрипт для желаемого результата.
с rsync Это должно быть довольно легко сделать, хотя и не завершено.
Предполагая ./ new_main_directory
, в противном случае mkdir ./new_main_directory
rsync -a --include '*/' --include '*.mcp' --exclude '*' Main_Directory/ new_Main_Directory/
THIS будет скопировать только файлы * .mcp и структуру каталогов, в которой они лежат.
Вы всегда можете проверить команды rsync
команды со скоростью - Dry-Run
.
Источник: http://ubuntuforums.org/showthread.php?t=763833
Если вы хотите использовать CP, вы можете попробовать что-то вроде следующего.
for d in ./*/; do
set -- "$d/"*.mcp
if [ -e "$1" ]; then
# there is at least one .mcp file in $d
cp -rp -- "$d" ./new_Main_Directory/
fi
done
Команда rsync на самом деле не сработала, но скрипт little for loop сработал отлично. Он скопировал некоторые другие случайные файлы, но они были удалены.