Este comando podría hacer lo que quieras:
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 \;
Reemplace file-1.org
con el archivo de organización cuyos archivos adjuntos desea mover, y ~/temp/my-new-directory
con la ubicación de su nuevo directorio. Se data
creará un directorio con los archivos adjuntos en ellos (si desea mover en lugar de copiar, pase --remove-source-files
al rsync
comando).
Esto fue probado en macOS. Es posible que deba omitir la -E
bandera en otras plataformas.
NOTA: Haga esto en una copia de sus archivos . No soy un experto en emacs, nunca he usado archivos adjuntos en modo org y no tengo experiencia en el uso de este tipo de manipulación de archivos hacky. Esto podría hacer que su carpeta del modo org quede en el olvido, así que primero haga una copia de seguridad.
org-attach-sync
para sincronizarlos con el nuevo elemento.