Я предполагаю, что вы используете Bash, поэтому я бы использовал Globstar
для цикла через все каталоги сразу с **
. После этого все то, что осталось, это играть немного с ReadLink
, RealPath
и т. Д.:
shopt -s globstar
for file in c1/** d1/**; do
if [[ -h "$file" ]]; then
if [[ "$(readlink -f "$file")" == "$(realpath a/b/original-target)" ]]; then
ln -sf "$(dirname "$(readlink "$file")")"/new-target "$(dirname "$file")" && rm -f "$file"
fi
fi
done
Ошибки визуализации на sda6 можно избежать, убедившись в том, что проверка файла с исходного диска включена. Проверьте FAQ: http://drbl.org/faq/fine-print.php?path=./2_System/118_fs_not_clean_mounted.faq#118_fs_not_clean_mounted.faq .