Смонтировать и объединить содержимое папки

Сохраните следующий сценарий как rm_dub.sh

#!/bin/sh

rm_dub() {
    dir=$(dirname -- "$1")
    base=$(basename -- "$1" "$2")

    rm -- "$dir/$base$3"
}

rm_dub "$@"

и используйте его с

find /test/ -name "*.doc" -exec sh rm_dub.sh {} .doc .pdf \;
0
03.05.2018, 16:28
2 ответа

Я в любом случае не знаю, как напрямую сделать то, что вы просите, и вы, конечно, столкнулись бы с проблемами, если бы file1существовал как в folder1, так и в folder2.

Вы можете создавать ссылки из каждого файла/каталога в folder2на folder1, для этого потребуется ссылка на файл/каталог в folder2. Вы можете создать скрипт для обновления ссылок и удаления мертвых ссылок.

Если бы вы использовали жесткие ссылки, то все это было бы без проблем при выполнении списка каталогов и т. д.

Затем вы можете использовать inotify, чтобы просмотреть folder1и folder2, чтобы инициировать создание/удаление жестких ссылок.

0
28.01.2020, 04:23

Попробуйте использовать наложения

mount -t overlay overlay Folder1 -o index=off,workdir=$(mktemp -d),upperdir=Folder2,lowerdir=Folder1

Все изменения файлов будут видны в папках Folder1 и Folder2. Но если вы измените исходные файлы папки 1 (пример файла 1 ), изменения также будут видны в папке 2.

2
30.06.2021, 11:30

Теги

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