У меня есть специальное требование, и мне нужна ваша помощь при написании сценария оболочки.Сценарий оболочки для копирования структуры каталогов на основе условия
- Скрипт должен скопировать структуру каталогов из исходного пути к целевому пути, сохраняющее разрешения, временному метки и т.д.
- Скрипт должен копировать только текстовые файлы только из этих подкаталогов, при которых нет более подкаталогов ,
Это то, что я сделал до сих пор.
#!/bin/bash
source_exist=false
while true
do
echo -n "Enter source path:"
read source
if [ ! -d $source ]
then
echo "$source is not a valid directory!!!"
echo -n "Try Again [Y/N]"
read result
if [ $result = 'Y' -o $result = 'y' ]
then
continue
else
exit 1;
fi
else
source_exist=true
break;
fi
done
echo -n "enter target path:"
read target
if [ source_exist ]
then
mkdir $target
fi
find $source '*.txt' -exec cp -p --parents \{\} $target \;
Добро пожаловать в SO. Пожалуйста, ознакомьтесь с рекомендациями по правильному заданию вопросов. Короче говоря, это место, где вы показываете нам, что вы сделали до сих пор (ваш код), и мы стараемся помочь вам в том, где вы застряли. – ODelibalta
@ user3322633 Просьба поделиться своим кодом, что у вас есть. – kenorb
Как вы определяете, какие файлы являются текстовыми файлами? По расширению или по содержанию? Требование «листовых каталогов» является довольно интересным. Вам нужно иметь дело с именами неудобных команд (имена, содержащие outpé пунктуацию или пробелы или символы новой строки), или имена всех цивилизованных (набор переносных имен файлов: A-Za-z0-9_ плюс точка и тире)? –