Эта команда может делать то, что вы хотите:
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, и у меня нет опыта использования подобных хакерских манипуляций с файлами. Это может привести к забвению вашей папки в режиме org, поэтому сначала сделайте резервную копию.
org-attach-sync
для синхронизации с новым элементом.