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.org
bằng tệp org có tệp đính kèm bạn muốn di chuyển và ~/temp/my-new-directory
vị trí của thư mục mới của bạn. Một data
thư 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-files
sang rsync
lệnh).
Điều này đã được thử nghiệm trên macOS. Bạn có thể phải bỏ -E
cờ 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.