Ця команда може робити те, що ви хочете:
find -E data -type f -iregex ".*($(cat file-1.org | grep -i ':id:' | perl -pe 's/^\s*:id:\s*(\w{2})([\w-]+)$/$1\\\/$2/i' | paste -s -d'|' -)).*" -exec rsync -R '{}' ~/temp/my-new-directory \;
Замініть file-1.org
файл org, вкладення якого ви хочете перемістити, та ~/temp/my-new-directory
місцеположення нового каталогу. data
Буде створено каталог з файлами вкладення в них (якщо ви хочете перемістити замість копії, перейти --remove-source-files
до rsync
команді).
Це було протестовано на macOS. Можливо, вам доведеться опустити -E
прапор на інших платформах.
ПРИМІТКА. Будь ласка, зробіть це на копії файлів . Я не є експертом у emacs, ніколи не використовував вкладені файли в органічному режимі, і не маю досвіду використання подібних маніпуляцій з хакі-файлами. Це може підірвати вашу папку в органічному режимі на забуття, тому спершу створіть її назад.
org-attach-sync
для синхронізації з новим елементом.