Lệnh này có thể làm những gì bạn muốn:
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 \;
Thay thế file-1.orgbằng tệp org có tệp đính kèm bạn muốn di chuyển và ~/temp/my-new-directoryvị trí của thư mục mới của bạn. Một datathư mục sẽ được tạo với các tệp đính kèm trong đó (nếu bạn muốn di chuyển thay vì sao chép, chuyển --remove-source-filessang rsynclệnh).
Điều này đã được thử nghiệm trên macOS. Bạn có thể phải bỏ -Ecờ trên các nền tảng khác.
LƯU Ý: Vui lòng làm điều này trên một bản sao của các tập tin của bạn . Tôi không phải là chuyên gia về emacs, chưa bao giờ sử dụng tệp đính kèm chế độ org và tôi không có kinh nghiệm sử dụng loại thao tác tệp hacky này. Điều này có thể thổi thư mục chế độ org của bạn vào quên lãng để sao lưu nó trước.
org-attach-syncđể đồng bộ chúng với mục mới.