Проблема несколько упрощается, если вы рассматриваете эквивалент :для каждого файла FLAC, переместите аналогичный -с именем MP3:
shopt -s globstar
targetroot='/path/to/target'
for f in **/*.flac
do
dir=$(dirname "$f")
mp3=$(basename "$f".flac).mp3
[[ -e "$dir/$mp3" ]] || continue
mkdir -p "$targetroot/$dir"
mv -t "$targetroot/$dir" "$dir/$mp3"
done
Я смог решить проблему с помощью следующих трех команд.
Вот ссылка на авторство, которое я хотел бы скопировать.
# ls -ald /var/mail
drwxrwsr-x 2 root mail 4096 4月 27 2018 /var/mail
Это целевой каталог. (разрешение, владелец, временные метки разные)
# ls -ald /var/tmp/target-dir
drwxrwxr-x 2 user1 user1 4096 7月 16 07:09 /var/tmp/target-dir
1. Скопируйте разрешения с помощью команды chmod
# sudo chmod --reference=/var/mail /var/tmp/target-dir
# ls -ald /var/tmp/target-dir
drwxrwsr-x 2 user1 user1 4096 7月 16 07:09 /var/tmp/target-dir
2. Скопируйте владельца с помощью команды chown
# sudo chown --reference=/var/mail /var/tmp/target-dir
# ls -ald /var/tmp/target-dir
drwxrwsr-x 2 root mail 4096 7月 16 07:09 /var/tmp/target-dir
3. Скопируйте метку времени с помощью сенсорной команды
# sudo touch --reference=/var/mail /var/tmp/target-dir
# ls -ald /var/tmp/target-dir
drwxrwsr-x 2 root mail 4096 4月 27 2018 /var/tmp/target-dir
Наконец, каталог /var/tmp/target -имеет те же атрибуты, что и /var/tmp/mail.