Я просто попал в bash, поэтому решил написать свой первый скрипт. Чтобы дать вам немного фона, я хочу написать сценарий, который будет поддерживать резервную копию папки «Мои документы» на USB-накопителе всякий раз, когда я подключаю USB-накопитель. (Я знаю, что такое программное обеспечение существует).Как удалить часть строки с переменной?
У меня есть две строки в начале сценария:
directoryPath="/Users/USER/Documents" # Folder I want to backup
backupPath="/Volumes/backMeUp/main" # Where I want the folder to backup
Для петель не дает мне абсолютный путь к файлу, как этот
/Users/USER/Documents/Comics/Bleach/Volume 004/bleach_031.zip
До сих пор я использую СЭД как этот
newPath=`echo "$file" | sed "/Users\/USER\/Documents/s//Volumes\/backMeUp\/main/"`
Но поскольку я хочу, чтобы мой скрипт был более «открытым» и дружественным к пользователю, я хочу избавиться от этого и сделать это по-другому.
Я также попытался это с другим синтаксисом
echo $file | sed -e "s/$directoryPath/$backupPath/"
, но не повезло.
Мой вопрос: как удалить часть строки с помощью $ directoryPath и заменить ее на $ backupPath?
Да, это то, что я хотел! :) Дело в том, что папка «Документы» также структурирована, поэтому я хочу, чтобы результат был примерно таким:/Объемы/backMeUp/main/Comics/Bleach/Volume 004/bleach_031.zip – rojcyk