Удалить папки, которые соответствуют имени в другом пути

У меня есть 2 папки в этой ситуации, /ParentFolder/FolderName/Files.mp4 и /Mount/FolderName/Files.mp4.

В сущности, в /ParentFolder необходимо заменить любые папки с таким же именем в /mount. Я должен использовать ACDCLI для фактической копии, поэтому мне нужно сначала удалить их, вызвав любое имя папки из /ParentFolder/* и rm -rf /mount/"FolderName"

. Если это была одна папка, легко, но я не уверен, как скажем, получить все имена папок из X и удалить, если они существуют в Y.

0
задан 18 May 2016 в 00:53

1 ответ

Следующий сценарий удара должен сделать то, что Вы описываете. Можно хотеть поместить echo перед rm в первый раз, когда Вы выполняете его, только чтобы удостовериться, что это собирается сделать то, что Вы ожидаете.

#!/bin/bash

if test -d "$1"
then
    from="$1"
else
    echo "could not find source directory \`$1'" >&2
    exit 1
fi

if test -d "$2"
then
    to="$2"
else
    echo "could not find destination directory \`$2'" >&2
    exit 1
fi

for fromdir in "${from}"/*/
do
    todir="${to}${fromdir#"${from}"}"
    if test -d "${todir}"
    then
        rm -rf "${todir}"
    fi
done

Имя сценарий что-то соответствующее как acd_prep и использование chmod +x acd_prep для создания этого исполняемым файлом. Для папок в качестве примера в вопросе Вы затем запустили бы скрипт как acd_prep /ParentFolder /Mount.

1
ответ дан 18 May 2016 в 10:53
  • 1
    Подкачка не совместно используется с Вашей ОС. Вы дали 12 ГБ для подкачки от памяти на 22 ГБ, таким образом, человечность может использовать только 10 ГБ для системы. BTW, Вам не нужны 12 ГБ для подкачки. 2 ГБ достаточны. Infact от человечности 17 вперед Вам не нужна область подкачки вообще. – sziraqui 23 November 2017 в 01:17

Другие вопросы по тегам:

Похожие вопросы: