คำสั่งนี้สามารถทำสิ่งที่คุณต้องการ:
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
ด้วยไฟล์องค์กรที่มีไฟล์แนบที่คุณต้องการย้ายและ~/temp/my-new-directory
เป็นที่ตั้งของไดเรกทอรีใหม่ของคุณ data
ไดเรกทอรีจะถูกสร้างขึ้นด้วยไฟล์ที่แนบมาในพวกเขา (ถ้าคุณต้องการที่จะย้ายแทนการคัดลอกผ่าน--remove-source-files
ไปยังrsync
คำสั่ง)
สิ่งนี้ได้รับการทดสอบบน macOS คุณอาจต้องข้ามการ-E
ตั้งค่าสถานะบนแพลตฟอร์มอื่น ๆ
หมายเหตุ: โปรดทำเช่นนี้เป็นสำเนาของไฟล์ของคุณ ฉันไม่ใช่ผู้เชี่ยวชาญใน emacs ไม่เคยใช้สิ่งที่แนบมาในโหมด org และฉันไม่เคยมีประสบการณ์กับการใช้การจัดการไฟล์แฮ็คชนิดนี้ การทำเช่นนี้อาจทำให้โฟลเดอร์โหมดองค์กรของคุณหายไปดังนั้นควรสำรองข้อมูลไว้ก่อน
org-attach-sync
เพื่อซิงค์ไฟล์กับรายการใหม่