Guest Posted June 29, 2003 Report Posted June 29, 2003 Проблема следующая: Необходимо реализовать сценарий на диалекте языка командного интерпретатора bash, производящий копирование структуры заданной директории (и всех поддиректорий) в целевую директорию. Входные параметры: - <директория> - задаваемая исходная директория. - <целевая директория> - задаваемая целевая директория. Причем файлы в целевую директорию копировать не надо, а только все имеющиеся директории и поддиректории Quote
Guest Posted July 2, 2003 Report Posted July 2, 2003 Это просто, однако я очень не люблю помогать людям, которые палец о палец ударить не хотят Напишите как Вы пытались решить проблему сами Успехов --- sas Quote
Guest Posted July 3, 2003 Report Posted July 3, 2003 Я решал следующим образом: touch /bin/my_bash_script создаем файл my_bash_script chmod u=rwx, g=rwx, o=rwx /bin/my_bash_script присваиваем ему атрибуты mcedit /bin/my_bash_script открываем на редактирование #!/bin/bash case word in Help-) echo "ввести исходную и целевую директорию" esac for i in $1/* if [-d$i] then cp -R $i $dir2 fi done $1 - исходная директория $dir2 - целевая директория Проблема в том, что команда cp копирует все вместе с файлами Quote
Guest Posted July 3, 2003 Report Posted July 3, 2003 for i in `find /source/path -type d`; do mkdir -p /dest/path/$i; done Quote
Guest Posted July 3, 2003 Report Posted July 3, 2003 хотя немного прогнал. это сработает, если /source/path - . но идея, надеюсь, ясна Quote
Guest Posted July 3, 2003 Report Posted July 3, 2003 Спасибо за помощь Хочу уточнить Получается если я правильно понял то данный скрипт будет работать если sourse/path имеет один уровень вложенности или не так? Quote
Guest Posted July 3, 2003 Report Posted July 3, 2003 выполните отдельно find, посмотрите на вывод, и подумайте что и как будет создаваться mkdir Quote
Guest Posted July 3, 2003 Report Posted July 3, 2003 Хорошо [sas@sas-tibook:sas]$ src_dir="./Movies" [sas@sas-tibook:sas]$ trg_dir="./tmp" [sas@sas-tibook:sas]$ find "$src_dir" -type d | sed 's@^'"$src_dir"'@' "$trg_dir"'@' | xargs mkdir -p [sas@sas-tibook:sas]$ В этом решении только поддиректории src_dir будут скопированы Успехов --- sas PS Кстати в Вашем решении только один уровень поддиректориев будет создан Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.