ฉันต้องการให้ shotwell เปิดไฟล์. cr2 ทั้งหมดในโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดฉันจะใช้บรรทัดคำสั่งใด


9

สิ่งที่ต้องการ

shotwell *.cr2 ./

ไม่ทำงาน แต่โดยทั่วไปฉันต้องการใช้ shotwell เพื่อเปิดไฟล์ทั้งหมดที่ลงท้ายด้วย.cr2และในไดเรกทอรีปัจจุบัน (รวมถึงโฟลเดอร์ย่อย)

บริบทคือฉันหายไปจากภาพถ่ายที่ฉันถ่ายไว้ในกล้องที่ฉันลบไปจากการ์ดหน่วยความจำของฉัน

มีรูปขนาดย่อสำหรับพวกเขาใน "ภาพที่หายไป" ของ shotwell แต่ฉันหามันไม่เจอ ดังนั้นฉันคิดว่าฉันphotorecจะพยายามค้นหาพวกเขา ผลที่ได้คือโฟโต้เรคทำให้ฉันมีโฟลเดอร์และไฟล์จำนวนมากพอที่จะทำให้ฮาร์ดไดรฟ์ของฉันเต็ม แทนที่จะกลั่นกรองไฟล์ทั้งหมดทีละรายการฉันตัดสินใจค้นหาไฟล์. cr2 ในฮาร์ดไดรฟ์ของฉันในขณะที่หลีกเลี่ยงโฟลเดอร์เฉพาะที่เรียกPhotogsว่าฉันรู้ว่าไม่มีไฟล์เหล่านั้นเพราะสิ่งเหล่านั้นไม่ได้เป็นส่วนหนึ่งของการphotorecถ่ายโอนข้อมูล


@EliahKagan เห็นความคิดเห็น (ซึ่งยังคงเข้าสู่การสนทนา!) ดูรายละเอียดที่นี่ ฉันกำลังไม่แน่ใจว่าและวิธีการแก้ไขคำถามให้คำแนะนำเพื่อโปรดให้ที่คุณสร้างขึ้นดังกล่าวเป็นคำตอบที่สวยงาม
Zanna

@ user285884 การแก้ไขล่าสุดสำหรับคำตอบของฉันรวมถึงขั้นตอนโดยละเอียดสำหรับการสร้างแผนภูมิของลิงก์สัญลักษณ์ไปยังไฟล์. cr2 ซึ่งสามารถเปิดได้ใน Shotwell (และวิธีอื่น ๆ ) สิ่งนี้ควรเอาชนะปัญหาในการดูไฟล์พิเศษที่ไม่ใช่. cr2 ใน Shotwell รวมถึงปัญหาการมีพื้นที่ไม่เพียงพอในอุปกรณ์ปลายทางเพื่อย้ายหรือคัดลอกไฟล์ ฉันไม่แน่ใจว่าจากการแชทที่เกี่ยวข้องหากคุณแก้ไขปัญหาได้
Eliah Kagan

คำตอบ:


6

โดยปกติแล้วคุณจะต้องเปิด Shotwell แล้วลากเข้าไปในโฟลเดอร์

หากคุณต้องการคุณสามารถสร้างเชลล์สร้างรายการไฟล์ CR2 และบอก Shotwell ให้เปิดเฉพาะไฟล์เหล่านั้น บางครั้งอาจเป็นสิ่งที่คุณต้องการ แต่ในกรณีนี้ไม่ได้ทำสิ่งที่คุณต้องการเนื่องจากพฤติกรรมของ Shotwell - ในบางสถานการณ์คุณสมบัติ - โดยอัตโนมัติแสดงไฟล์ภาพอื่น ๆ (ทุกประเภท) ที่อยู่ใน โฟลเดอร์เดียวกับภาพที่คุณเปิด

เพื่อให้แน่ใจว่า Shotwell รู้เฉพาะภาพที่คุณสนใจคุณสามารถโคลนทรีไดเรกทอรีที่อื่นคัดลอกเฉพาะ.cr2ไฟล์และโฟลเดอร์ที่เก็บไว้ แต่ไม่มีอะไรอื่น ที่อาจใช้พื้นที่เพิ่มเติมอย่างมาก ดังนั้นอีกวิธีหนึ่งคือการสร้างลำดับชั้นของการเชื่อมโยงสัญลักษณ์ - ที่แทนที่จะต้องมีต้นไม้ไดเรกทอรีใหม่ของสำเนาของเดิมของคุณ.cr2ไฟล์คุณมีต้นไม้ไดเรกทอรีใหม่ของsyminks เพื่อพวกเขา สิ่งนี้ใช้พื้นที่น้อยกว่ามาก

คำตอบนี้ครอบคลุมวิธีการทั้งหมด

การเปิดโฟลเดอร์ภาพ (รวมถึงโฟลเดอร์ย่อย) ใน Shotwell

Shotwell ให้สองวิธีในการเปิดไดเรกตอรีรูปภาพทั้งหมด หากสิ่งเหล่านี้ใช้ได้ผลกับคุณคุณไม่จำเป็นต้องทำอะไรที่ชาญฉลาดในบรรทัดคำสั่งหรือแม้แต่ใช้งานเลย หากไม่เป็นเช่นนั้นคุณอาจทำสิ่งนี้ด้วยเทคนิคอื่น (ตัวอย่างเช่นหากคุณสร้างไดเรกทอรีใหม่ของ symlink หรือสำเนา.cr2ไฟล์ของคุณคุณสามารถใช้วิธีใดวิธีหนึ่งในการเปิด)

วิธีที่ 1: เพียงเปิดโฟลเดอร์ทั้งหมดใน Shotwell

ใน Shotwell ในแฟ้มเมนูคลิกนำเข้าจากโฟลเดอร์ จากนั้นเลือกโฟลเดอร์ที่คุณต้องการนำเข้ารูปภาพ สิ่งนี้จะไม่ จำกัด เฉพาะ.cr2ไฟล์ แต่ถ้าคุณกำลังเปิดไฟล์จากหลาย ๆ โฟลเดอร์ย่อยที่มี.cr2ภาพที่สร้างจากกล้องดิจิทัลนั้นส่วนใหญ่แล้วไฟล์เหล่านั้นจะเป็นไฟล์เดียวที่มีอยู่

สกรีนช็อตของรายการเมนูนำเข้าจากโฟลเดอร์ในเมนูไฟล์ของ Shotwell

ดูคำตอบของจาคอบเพื่อแสดงรูปภาพทั้งหมดซ้ำ (รวมโฟลเดอร์ย่อย)สำหรับข้อมูลเพิ่มเติม

วิธีที่ 2: ลากโฟลเดอร์ไปยัง Shotwell

ด้วยสภาพแวดล้อมเดสก์ท็อปและไฟล์เบราว์เซอร์ส่วนใหญ่คุณสามารถเปิด Shotwell แล้วลากโฟลเดอร์ที่เก็บภาพของคุณไปไว้ในหน้าต่าง Shotwell เช่นเดียวกับการนำเข้าจากโฟลเดอร์นี่เป็นอีกวิธีที่ Shotwell แนะนำให้เปิดรูปภาพ

ภาพหน้าจอของฉันลากโฟลเดอร์เดสก์ท็อปของฉันไปที่ Shotwell เพื่อนำเข้ารูปภาพที่มี

เมื่อคุณลากจากหน้าต่างเบราว์เซอร์ไฟล์หรือเดสก์ท็อปของคุณไปยัง Shotwell คุณสามารถลากไปยังไลบรารีเฉพาะ หรือถ้าคุณไม่มีห้องสมุดหลายแห่งคุณสามารถลากไปที่ใดก็ได้และใช้งานได้ (คุณไม่จำเป็นต้องลากเข้าไปในช่องด้านซ้าย)

วิธีนี้สะดวกมากและมีประสิทธิภาพเท่ากับการเลือกโฟลเดอร์ (ด้วยไฟล์ > นำเข้าจากโฟลเดอร์ตามที่อธิบายไว้ข้างต้น) เมื่อคุณเปิดไฟล์หรือโฟลเดอร์โดยใช้วิธีใดวิธีหนึ่งเหล่านี้ Shotwell ให้ตัวเลือกในการเปิดภาพถ่ายโดยไม่ต้องคัดลอกลงในไลบรารี

สกรีนช็อตของกล่องโต้ตอบใน Shotwell ที่ขอให้ผู้ใช้เลือกระหว่างการคัดลอกรูปภาพไปยังตำแหน่งของไลบรารี Shotwell ของพวกเขาหรือนำเข้าภาพนั้นโดยไม่ต้องคัดลอกใด ๆ

จะนำเข้าโดยไม่ต้องคัดลอกคลิกนำเข้าในสถานที่แทนการคัดลอกภาพถ่าย


เปิดตัว Shotwell ด้วยรายชื่อไฟล์ภาพ

หากด้วยเหตุผลบางอย่างที่คุณต้องการหรือจำเป็นต้องดำเนินการโดยใช้คำสั่งใน Terminal คุณสามารถเรียกใช้shotwellคำสั่งและส่งชื่อไฟล์ของภาพแต่ละภาพให้เป็นอาร์กิวเมนต์ Globstarทำให้มันง่าย:

shopt -s globstar
shotwell **/*.cr2

ที่เปิด.cr2ไฟล์ที่อยู่ที่ใดก็ได้ในไดเรกทอรีปัจจุบัน มันแตกต่างจากการใช้ Shotwell แล้วลากโฟลเดอร์เข้าไปใน Shotwell นั้นจะพยายามนำเข้าไฟล์ที่คุณให้ชื่อเท่านั้น อย่างไรก็ตามเนื่องจาก Shotwell มักจะแสดงไฟล์ภาพอื่น ๆ จากโฟลเดอร์เดียวกับไฟล์ที่คุณบอกให้เปิดดังนั้นอาจไม่เพียงพอสำหรับความต้องการของคุณ (และข้อมูลเพิ่มเติมที่คุณได้รับเกี่ยวกับปัญหาของคุณแสดงให้เห็นว่ามันไม่ใช่ดูทางเลือกด้านล่าง)

นี้ไม่รวมถึงไฟล์หรือโฟลเดอร์ที่มีชื่อขึ้นต้นด้วย .อย่างไรก็ตามหากคุณมีไฟล์ CR2 ที่ชื่อขึ้นต้นด้วยจุดดังนั้นเวลาส่วนใหญ่ที่คุณอาจไม่ต้องการเปิดใน Shotwell เว้นแต่ว่าคุณตั้งใจตั้งชื่อไฟล์หรือโฟลเดอร์ด้วยวิธีนี้ dotfile ที่มีนามสกุลไฟล์รูปภาพหรือเอกสารมักจะเป็นไฟล์ข้อมูลเมตามากกว่าที่จะเป็นรูปภาพหรือเอกสารจริง ตัวอย่างเช่นmacOS มักจะเพิ่มไฟล์ดังกล่าว (เช่น._kittens.cr2รูปภาพจริงkittens.cr2) เมื่อเข้าถึงสื่อภายนอก (รวมถึงแฟลชไดรฟ์และกล้องดิจิทัล)

หากคุณต้องการค้นหาไฟล์ที่ชื่อขึ้นต้นด้วย.หรือที่อยู่ในโฟลเดอร์ที่ชื่อขึ้นต้นด้วย.ให้เปิดใช้งาน dotglob เช่นกัน คุณสามารถทำสิ่งนี้ด้วยshopt -s dotglobหรือโดยผ่านทั้งสองglobstarและdotglobไปยังshoptbuiltin:

shopt -s globstar dotglob

ตามค่าเริ่มต้นแล้ว globs จะคำนึงถึงขนาดตัวพิมพ์ แต่คุณอาจต้องการให้ตรงกับชื่อไฟล์กรณี insensitivelyเพื่อเปิดไฟล์ที่ลงท้ายด้วย.cr2, .Cr2, และ.cR2 .CR2ในการทำเช่นนั้น:

  • เปิดใช้งาน nocaseglob โดยเรียกใช้shopt -sด้วยnocaseglobตนเองหรือด้วยตัวเลือกเชลล์อื่น ๆ ตัวอย่างเช่นหากต้องการรันshotwellกับ.cr2ไฟล์ทั้งหมดการค้นหาแบบคำนึงถึงขนาดตัวพิมพ์และรวมถึง.-files และไฟล์ใน -directories .:

    shopt -s globstar dotglob nocaseglob
    shotwell **/*.cr2
    
  • หรือใช้.[cC][rR]2แทน.cr2ในรูปแบบ glob ของคุณเอง ตัวอย่างเช่นการทำเช่นนี้สำเร็จเหมือนด้านบน:

    shopt -s globstar dotglob
    shotwell **/*.[cC][rR]2
    

    โปรดทราบว่าตัวพิมพ์เล็กและตัวพิมพ์ใหญ่นั้นแยกต่างหากจาก.ไฟล์และโฟลเดอร์ที่ตรงกันหรือไม่ คุณสามารถลบออกdotglobจากตัวอย่างด้านบนและยังสามารถใช้ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้

ในการระบุไดเรกทอรีแทนที่จะใช้เพียงไดเรกทอรีปัจจุบันให้ใส่ชื่อและไว้ข้าง/หน้า**/*.cr2glob ตัวอย่างเช่นการแทนที่shotwellคำสั่งด้านบนด้วยไฟล์นี้จะเปิด.cr2ไฟล์ทั้งหมดในPicturesไดเรกทอรีย่อยของโฮมไดเร็กตอรี่ของคุณ:

shotwell ~/Pictures/**/*.cr2

แตกต่างจากคำสั่งแรกที่ใช้ไดเรกทอรีปัจจุบันของคุณไม่ว่าคุณจะเรียกใช้คำสั่งนั้นคุณจะบอกให้ Shotwell เปิดไฟล์เดียวกัน

การทดสอบ

หากคุณต้องใช้เทอร์มินัลสำหรับสิ่งนี้ฉันเดาว่ามันอาจเป็นส่วนหนึ่งของบางสิ่งที่ซับซ้อนกว่า ถ้าคุณชอบคุณสามารถทดสอบคำสั่งดังกล่าวก่อนที่จะทำงานจริงพวกเขาโดยการแทนที่ด้วยshotwell printf '%s\n'แทนที่จะส่งชื่อไฟล์ไปยัง Shotwell ซึ่งจะแสดงหนึ่งรายการต่อบรรทัด ตัวอย่างเช่นบนเครื่องของฉัน:

ek@Io:~$ printf '%s\n' ~/tmp/**/*.cr2
/home/ek/tmp/another image.cr2
/home/ek/tmp/image.cr2
/home/ek/tmp/some folder/image3.cr2

การปิด Globstar และตัวเลือกเชลล์อื่น ๆ

ตัวเลือก globstar shell เปิดใช้งานเพื่อทำงานซึ่งเป็นสิ่งที่shopt -s globstarคำสั่ง (ด้านบน) ทำ หากเปิดใช้งานอยู่แล้วคุณไม่จำเป็นต้องใช้หลายคำสั่ง และคุณต้องตั้งค่า globstar หนึ่งครั้งต่อหนึ่งอินสแตนซ์ของเชลล์

คุณสามารถปิด globstar ได้โดยการวิ่ง:

shopt -u globstar

และคุณสามารถตรวจสอบว่า globstar เปิดหรือปิดได้โดยเรียกใช้:

shopt globstar

หากคุณกำลังใช้งาน globstar ในสคริปต์คุณควรพิจารณาปิดใช้งานหากมีรหัสที่มาหลังจากนั้นในสคริปต์เดียวกับที่ไม่ได้เขียนด้วย globstar ในใจ ตัวอย่างเช่นการเขียน**เมื่อคุณหมายถึง*มักจะไม่มีปัญหาเมื่อปิดการใช้งาน globstar แต่เมื่อเปิดการทำงานของ globstar มันอาจทำให้เกิดปัญหาร้ายแรงได้โดยการใช้คำสั่งส่งผลกระทบต่อไฟล์มากกว่าที่ตั้งใจไว้

ในทำนองเดียวกันถ้าคุณใช้ dotglob หรือ nocaseglob และคุณต้องการปิดเกินไปคุณสามารถทำได้ด้วยshopt -u dotglobและshopt -u nocaseglobตามลำดับ คุณยังสามารถส่งตัวเลือกเชลล์ได้หลายตัวshopt -uเพื่อยกเลิกการตั้งค่าในเวลาเดียวกัน ตัวอย่างเช่นเมื่อต้องการปิดglobstar, dotglobและnocaseglob:

shopt -u globstar dotglob nocaseglob

เมื่อเปรียบเทียบกับ globstar มีข้อผิดพลาดร้ายแรงน้อยกว่าที่คุณอาจทำเพราะคุณลืมคุณออกจาก dotglob หรือ nocaseglob แต่คนอื่น ๆ (รวมถึงคนที่คุณปรึกษาเว็บไซต์เช่น Ask Ubuntu) มักจะถือว่า dotglob และ nocaseglob ถูกปิดใช้งานเมื่อพวกเขาแนะนำคำสั่งให้คุณใช้เว้นแต่คุณจะบอกพวกเขาเป็นอย่างอื่น

สำหรับข้อมูลเพิ่มเติมเกี่ยว glob ที่เกี่ยวข้องกับตัวเลือกเหล่านี้เปลือก (และยังglobs ทั่วไป ) ดูที่คู่มืออ้างอิงทุบตี พวกเขาจะครอบคลุมทั้งหมดเป็นหลักใน4.3.2 Shopt Builtin สำหรับ GLOBSTAR เห็น3.5.8.1 แบบจับคู่ สำหรับ dotglob เห็น3.5.8 ขยายชื่อไฟล์


สร้างทรีไดเรกทอรีใหม่

เนื่องจากในกรณีของคุณคุณต้องการให้ Shotwell แสดงเฉพาะ .cr2ไฟล์เท่านั้นคุณมี.cr2ไฟล์ในโฟลเดอร์เดียวกันที่มี.cr2ไฟล์และการเรียกดูรูปภาพใน Shotwell จะเสนอไฟล์เหล่านั้นโดยอัตโนมัติด้วยดูเหมือนว่าคุณจะต้องมีโฟลเดอร์ที่ ไม่มีไฟล์รูปภาพอื่นนอกเหนือจาก.cr2ไฟล์ที่คุณพยายามเปิด

การย้ายไฟล์ตามที่คุณแนะนำเป็นวิธีหนึ่ง แต่ฉันขอแนะนำแทนการคัดลอกไฟล์หรือดีกว่าสร้างลิงก์สัญลักษณ์ไปยังไฟล์ (ดูFOLDOC ด้วย ) เพราะ:

  • หากคุณกำลังย้ายไฟล์ข้ามอุปกรณ์ที่ต้องคัดลอกอยู่แล้วดังนั้นในกรณีนี้การย้ายจะไม่เร็วกว่านี้
  • หากคุณมีพื้นที่ว่างมันเป็นความคิดที่ดีที่จะเก็บโฟลเดอร์ที่ไม่ได้แก้ไขของทุกสิ่งที่คุณเริ่มด้วยจนกว่าคุณจะพอใจว่าสิ่งที่คุณทำถูกต้องตามความต้องการของคุณ เห็นได้ชัดว่านี่ไม่ได้มีผลบังคับใช้หรือใช้งานได้จริงเสมอไป แต่ในกรณีของคุณไฟล์เหล่านี้เป็นผลมาจากการดำเนินการกู้คืนข้อมูล มันอาจมีประโยชน์ในการเก็บบันทึกที่ถูกอ่านได้อย่างง่ายดายถึงสิ่งที่ถูกกู้คืนและจากที่ใด
  • หากคุณเลือกที่จะสร้างลิงก์สัญลักษณ์จำนวนพื้นที่เพิ่มเติมที่ใช้ไปนั้นน้อยมาก (หากดิสก์เป้าหมายเต็มโดยสมบูรณ์คุณจะยังคงต้องเพิ่มพื้นที่ว่างบนดิสก์หรือใช้ดิสก์เป้าหมายอื่นเพื่อสร้าง symlink)

มีการตัดสินใจอีกอย่างหนึ่งสำหรับคุณเช่นกัน คุณสร้างรายการใหม่ทั้งหมด (ไม่ว่าจะเป็นสำเนาหรือ symlink) ในไดเรกทอรีเดียวกันทำให้ลำดับชั้นของไฟล์แบนราบหรือไม่? หรือคุณสร้างไดเรกทอรีที่ปลายทางที่สอดคล้องกับแต่ละไดเรกทอรีที่แหล่งที่มีอย่างน้อยหนึ่ง.cr2ไฟล์?

  • การทำให้ลำดับชั้นของไฟล์เรียบขึ้นช่วยให้คุณเห็นไฟล์ทั้งหมดพร้อมกันได้อย่างง่ายดาย โดยเฉพาะอย่างยิ่งมันเป็นเรื่องง่ายที่จะเห็นชื่อและขนาดของไฟล์ทั้งหมดในครั้งเดียวเช่นเดียวกับการเลือกรวมกันของไฟล์ในเบราว์เซอร์ไฟล์กราฟิก

  • แต่มันก็สูญเสียข้อมูลเกี่ยวกับโฟลเดอร์ที่พวกเขาอยู่ด้วยซึ่งอาจมีประโยชน์ (แม้ว่าคุณจะสามารถกลับไปที่โฟลเดอร์ดั้งเดิมและค้นหาที่นั่นหากคุณไม่ย้ายไฟล์)

  • ปัญหาใหญ่กับแฟบลำดับชั้นของไฟล์ แต่เป็นสิ่งที่เกิดขึ้นถ้าคุณมีสองคนหรือมากกว่าไฟล์ที่มีชื่อเดียวกันในสถานที่ที่แตกต่างกัน หากคุณเรียบลำดับชั้นของไฟล์ขึ้นอยู่กับว่าคุณทำมันอย่างไรทั้งหมด แต่อันแรกจะไม่สามารถคัดลอก (หรือเชื่อมโยง) และคุณจะได้รับข้อผิดพลาดหรือคำเตือนหรือทั้งหมดยกเว้นสำเนาล่าสุด (หรือลิงค์) จะ จะถูกเขียนทับ

    นี่คืออีกเหตุผลที่ฉันแนะนำให้คัดลอกหรือสร้าง symlink แทนที่จะย้ายไฟล์ หากคุณ "ประสบความสำเร็จ" ย้ายไฟล์หลาย ๆ ไฟล์เป็นไฟล์เดียวกันแสดงว่าคุณสูญเสียไฟล์ทั้งหมดยกเว้นไฟล์ล่าสุด!

เนื่องจากข้อเสียของการทำให้ทุกอย่างแบนราบลงในไดเรกทอรีเดียวโดยไม่มีไดเรกทอรีย่อยวิธีที่ฉันใช้ที่นี่สร้างไดเรกทอรีต้นไม้ใหม่ที่ปลายทาง

วิธีที่ 1: การคัดลอก

ฉันแสดงสิ่งนี้ก่อนเพราะมันง่ายกว่าเล็กน้อย แต่ฉันขอแนะนำให้คุณสร้างลิงก์สัญลักษณ์ ("วิธีที่ 2") แทนโดยเฉพาะอย่างยิ่งหากไดรฟ์ปลายทางอาจมีพื้นที่ไม่เพียงพอที่จะเก็บไฟล์ทั้งหมด "วิธีที่ 2" ซึ่งซับซ้อนกว่าเล็กน้อยมีรายละเอียดมากขึ้นเนื่องจากดูเหมือนจะมีทรัพยากรน้อยลงในการใช้เทคนิคนั้นมันเป็นวิธีที่ฉันคาดว่าคนส่วนใหญ่ในสถานการณ์นี้จะชอบมากกว่าและข้อมูลที่ใช้กับทั้งสองวิธี - คำแนะนำพื้นฐานเกี่ยวกับการหลบหนีช่องว่างในเส้นทาง - ได้รับมากกว่าที่นี่

เมื่อคุณต้องคัดลอกต้นไม้ไดเรกทอรีและคุณต้องกำหนดดำเนินการคัดลอกโดยปกติแล้วคุณควรจะใช้แทนrsync cpนี่เป็นหนึ่งในกรณีเหล่านั้น

การแทนที่srcด้วยพา ธ ไปยังไดเร็กทอรีระดับบนสุดที่มีไฟล์ CR2 ทั้งหมดของคุณและแทนที่destด้วยชื่อของไดเร็กทอรีที่คุณต้องการสร้างที่จะมีลำดับชั้นของลิงก์สัญลักษณ์ไปยังไฟล์ CR2 รัน:

rsync -rl --prune-empty-dirs --include='*/' --include='*.cr2' --exclude='*' src/ dest

อย่าลืม/หลังจากชื่อของไดเรกทอรีที่มาถ้าคุณต้องการไดเรกทอรีระดับบนสุดที่เพิ่มเติมที่จะสร้างขึ้นภายใน destนั่นคือถ้าคุณไม่ใช้ต่อท้าย/แล้วจะทำให้ไดเรกทอรีปลายทางสำหรับคุณภายในrsync destตัวอย่างเช่นสมมติว่าเป็นเส้นทางที่มีญาติไม่มีsrc /แล้ว:

  • กับsrc/คุณในrsyncคำสั่งคุณจะได้รับลิงก์สัญลักษณ์สำหรับแฟ้มdest/foo/bar.cr2src/foo/bar.cr2
  • กับsrcคุณในrsyncคำสั่งคุณจะได้รับลิงก์สัญลักษณ์สำหรับแฟ้มdest/src/foo/bar.cr2src/foo/bar.cr2

เนื่องจากอาจสร้างความสับสนให้กับไดเรกทอรีระดับบนสุดซึ่ง symlink จะถูกวางให้มีชื่อเดียวกันกับของไดเรกทอรีระดับบนสุดที่มี.cr2ไฟล์ที่ symlink จะชี้ไปฉันขอแนะนำให้คุณใส่/จุดสิ้นสุดปลายทาง ชื่อไดเรกทอรีในrsyncคำสั่งของคุณ (และสำหรับไดเรกทอรีต้นทางให้ระบุไดเรกทอรีที่ว่างเปล่าไม่มีอยู่หรือทุ่มเทให้กับวัตถุประสงค์นี้ไม่เช่นนั้นคุณจะทำให้โฟลเดอร์อื่นวุ่นวายขึ้น)

ในฐานะที่เป็นกรณีทั่วไปเมื่อคุณผ่านชื่อของไฟล์หรือไดเรกทอรีไปยังโปรแกรมบรรทัดคำสั่งหรือสคริปต์ถ้าปลายทางหรือแหล่งที่มาของเส้นทางไดเรกทอรีของคุณมีช่องว่างใด ๆ (หรือตัวอักษรที่ได้รับการปฏิบัติเป็นพิเศษโดยเปลือกเช่น\, $, 'และต่างๆ เครื่องหมายวรรคตอนอื่น ๆ ) แล้วคุณจะต้องพูดกับพวกเขา ฉันมีรายละเอียดวิธีการทำเช่นนี้สำหรับกรณีที่พบบ่อยที่สุดของช่องว่างใน "วิธีที่ 2" - คำแนะนำเกี่ยวกับการอ้างถึงในส่วนนั้นมีผลที่นี่เช่นกัน อย่างไรก็ตามหากคุณไม่แน่ใจว่าจะอ้างอิงชื่อโฟลเดอร์อย่างไรคุณสามารถให้ Ubuntu ทำเพื่อคุณโดยเพียงแค่ลากโฟลเดอร์ไปที่ Temrminal เส้นทางแบบเต็มของมันจะถูกวางด้วยคำพูดที่ถูกต้อง

หลังจากคัดลอกเฉพาะ.cr2ไฟล์และโฟลเดอร์ที่มีพวกเขาคุณสามารถเปิดโฟลเดอร์ปลายทางใน Shotwell (ดูที่"การเปิดโฟลเดอร์ภาพ (รวมถึงโฟลเดอร์ย่อย) ใน Shotwell"ด้านบน) อย่างไรก็ตามก่อนที่จะเปิดใช้งานrsyncฉันขอแนะนำให้คุณตัดสินใจว่าต้องการข้ามรายการที่ขึ้นต้นด้วย.และถ้าคุณต้องการรวมรายการที่มีคำต่อท้ายตัวแปร ถ้าเป็นเช่นนั้นคุณจะต้องเรียกใช้rsyncคำสั่งที่แตกต่างกันเล็กน้อย

การปรับแต่งการจัดการรายการที่เป็นจุดและความอ่อนตัวของเคส

คุณอาจต้องการใช้rsyncคำสั่งอื่นเพื่อเปลี่ยนว่าไฟล์และไดเรกทอรีที่ขึ้นต้นด้วยจุดจะถูกข้ามหรือไม่และคุณต้องการให้คำนึงถึงตัวพิมพ์ใหญ่และเล็กในการจับคู่ส่วนต่อท้าย.cr2หรือไม่

คำสั่งดังกล่าวไม่.รวมถึงไดเรกทอรีและไฟล์ที่มีชื่อขึ้นต้นด้วย หากต้องการยกเว้นไฟล์และไดเรกทอรีดังกล่าวให้ใส่--exclude='.*/' --exclude='.*'ก่อนหน้า--includes และ--excludes ทั้งหมด นั่นคือใช้rsyncคำสั่งนี้แทน (พร้อมการแทนที่ที่เหมาะสมสำหรับsrcและdestแน่นอน):

rsync -rl --prune-empty-dirs --exclude='.*/' --exclude='.*' --include='*/' --include='*.cr2' --exclude='*' src/ dest

rsyncคำสั่งแสดงป่านนี้ได้รับเป็นกรณี ๆ ไปและจะไม่คัดลอกไฟล์ที่สิ้นสุดใน.CR2, .Cr2หรือมากกว่า.cR2 .cr2หากคุณต้องการไฟล์ดังกล่าวจะได้รับการคัดลอกแล้วคุณจะต้องไปยังบัญชีที่โดยใช้--includeรูปแบบในสถานที่ของ*.[cC][rR]2*.cr2

คำสั่งที่สามนี้คำนึงถึงขนาดตัวพิมพ์และ (เช่นคำสั่งแรก) ไม่ข้ามไฟล์และไดเรกทอรีที่ชื่อขึ้นต้นด้วย.:

rsync -rl --prune-empty-dirs --include='*/' --include='*.[cC][rR]2' --exclude='*' src/ dest

หากคุณใช้วิธีคัดลอกไฟล์ด้วยrsyncและคุณไม่แน่ใจว่าต้องการใช้คำสั่งใดฉันขอแนะนำให้ใช้วิธีนี้หากคุณต้องการให้แน่ใจว่าจะไม่พลาดอะไร อย่างไรก็ตามคุณควรระวังว่าดอทไฟล์อาจมีเมทาดาทาและดอทฟิลที่มีชื่อเหมือนภาพอาจไม่ใช่ภาพ ดูการอภิปรายเกี่ยวกับ dotfiles ในส่วน"การเรียกใช้ Shotwell ด้วยรายชื่อไฟล์ภาพ"ด้านบนและใน dotfiles และตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน "วิธีที่ 2" ด้านล่าง

คำสั่งนี้ที่สี่คือกรณีตายและ (เช่นคำสั่งที่สอง) ไม่ไฟล์และไดเรกทอรีเฮี๊ยบมีชื่อขึ้นต้นด้วย.:

rsync -rl --prune-empty-dirs --exclude='.*/' --exclude='.*' --include='*/' --include='*.[cC][rR]2' --exclude='*' src/ dest

วิธีที่ 2: การสร้างลิงก์สัญลักษณ์

นี่คือสิ่งที่ฉันแนะนำให้คุณทำแม้ว่าวิธีที่ 1 จะไม่เป็นไรถ้าคุณมีพื้นที่เพียงพอในไดรฟ์ปลายทาง คุณไม่ต้องอ่านวิธีที่ 1 เพื่อใช้งานนี้

วิธีการนำเสนอที่นี่สร้างรายการ.cr2ไฟล์และวนรอบรายการสร้างไดเรกทอรีเป้าหมายตามต้องการและเติมข้อมูลด้วยลิงก์สัญลักษณ์ไปยังแต่ละ.cr2ไฟล์

นี่ซับซ้อนพอที่ฉันแนะนำให้วางไว้ในสคริปต์แทนที่จะพิมพ์ลงในแบบโต้ตอบ คุณสามารถวางสคริปต์ได้ทุกที่ที่คุณต้องการ แต่เพื่อความสะดวกฉันจะแสดงวิธีทำโดยวางสคริปต์ไว้ในโฟลเดอร์หลักของคุณโดยตรง

เขียน (หรือวาง) สคริปต์

สร้างไฟล์ข้อความmake-symlinksในโฟลเดอร์บ้านของคุณ ไม่จำเป็นต้องมีนามสกุลไฟล์

คุณสามารถทำได้ด้วยโปรแกรมแก้ไขข้อความใด ๆ เช่น Vim, Nano, Gedit หรือ Leafpad อย่าใช้โปรแกรมประมวลผลคำเช่น LibreOffice Writer (คุณสามารถทำได้โดยการเรียกใช้cat > ~/make-symlinksวางเนื้อหาของไฟล์และกดCtrl+ Dบนบรรทัดใหม่หากคุณต้องการ)

หากคุณตั้งชื่อสคริปต์เป็นอย่างอื่นmake-symlinksโปรดใช้ชื่อนั้นเมื่อคุณเรียกใช้คำสั่งที่ใช้สคริปต์ในภายหลัง

#!/bin/bash

shopt -s globstar dotglob nocaseglob

for f in **/*.cr2; do
    mkdir -p "$1/$(dirname "$f")"
    ln -s "$PWD/$f" "$1/$f"
done

ใส่ลงในไฟล์และบันทึกไฟล์ นี้ใช้สคริปต์ GLOBSTAR คุณลักษณะทุบตีอธิบายข้างต้นใน"การเปิดตัว Shotwell กับรายการของชื่อไฟล์ภาพ"

คุณสามารถเปลี่ยนวิธีจัดการรายการที่เป็นจุด

ขึ้นอยู่กับความต้องการของคุณคุณอาจต้องการเปลี่ยนแปลง:

  • หากคุณไม่ต้องการรวม.cr2ไฟล์ที่มีชื่อขึ้นต้นด้วย.หรืออยู่ในไดเรกทอรีที่ชื่อขึ้นต้นด้วย.ให้ลบออกdotglobจากshoptบรรทัด

    ไฟล์และไดเรกทอรีที่ชื่อขึ้นต้นด้วย.มักใช้สำหรับข้อมูลเมตา (ดูส่วน"การเรียกใช้ Shotwell ด้วยรายชื่อไฟล์ภาพ"ด้านบน) dotglobในทางกลับกันถ้าคุณต้องการให้แน่ใจว่าคุณมีทุกอย่างหรือถ้ามีบางสิ่งบางอย่างที่ขาดหายไปอย่างลึกลับที่คุณจะสวยแน่ใจว่าจะมีแล้วควรเก็บไว้

  • หากคุณต้องการที่จะรวมเฉพาะไฟล์ที่สิ้นสุดในตรง.cr2แต่ไม่ได้กรณีสายพันธุ์ ( .CR2, .Cr2และ.cR2) nocaseglobแล้วคุณควรลบ เนื่องจากสถานการณ์ของคุณที่เกี่ยวข้องกับการกู้คืนข้อมูลและShotwell จะไม่แสดงไฟล์ใด ๆ ที่คุณพลาดเมื่อคุณเปิดขึ้นไดเรกทอรีของการเชื่อมโยงสัญลักษณ์ - ที่จุดของวิธีการนี้หลังจากทั้งหมด - nocaseglobคุณอาจจะต้องการที่จะเก็บ

ทำให้ปฏิบัติการได้

รันคำสั่งนี้เพื่อทำเครื่องหมายสคริปต์ที่สามารถเรียกใช้งานได้:

chmod +x ~/make-symlinks

เรียกใช้ที่แหล่งที่มาและผ่านปลายทางเป็นอาร์กิวเมนต์

จากนั้นเปลี่ยนไดเรกทอรีเป็นไดเรกทอรีต้นทางเช่นโฟลเดอร์ระดับบนสุดที่มีรูปภาพ ตัวอย่างเช่นหากอยู่ในPicturesไดเรกทอรีย่อยของโฮมไดเรกทอรีของคุณคุณจะเรียกใช้:

cd ~/Pictures

นี่คือที่ที่คุณจะเรียกใช้สคริปต์ ส่งไดเรกทอรีปลายทางไปยังสคริปต์เป็นอาร์กิวเมนต์บรรทัดคำสั่ง

ตัวอย่างเช่นหากคุณต้องการให้สร้างไดเรกทอรีที่เรียกว่าcr2sบนเดสก์ท็อปของคุณเพื่อให้มีลิงก์สัญลักษณ์ให้รัน:

~/make-symlinks ~/Desktop/cr2s

หรือถ้าคุณต้องการไดเรกทอรีนั้นโดยตรงในโฟลเดอร์บ้านของคุณ:

~/make-symlinks ~/cr2s

หรือถ้าคุณมีไดรฟ์ติดตั้งอยู่/media/you/MyDriveและคุณต้องการสร้างโฟลเดอร์ที่เรียกว่าlinksมีลิงก์สัญลักษณ์:

~/make-symlinks /media/you/MyDrive/links

แต่ถ้าไดรฟ์นั้น/media/you/My Driveมีที่ว่างคุณต้องใช้ใบเสนอราคา งานใด ๆ เหล่านี้ (ใช้เพียงงานเดียวอย่าใช้งานทั้งหมด):

~/make-symlinks '/media/you/My Drive/links'
~/make-symlinks /media/you/'My Drive'/links
~/make-symlinks /media/you/My\ Drive/links

แต่ถ้าคุณใช้~สำหรับโฮมไดเร็กตอรี่ของคุณอย่าอ้างว่า

~/make-symlinks ~/'Two Words'   # good
~/make-symlinks ~/Two\ Words    # good
~/make-symlinks '~/Two Words'   # BAD, because ~ doesn't get expanded

make-symlinksสร้างไดเรกทอรีปลายทางสำหรับคุณหากยังไม่มีอยู่เช่นเดียวกับที่สร้างไดเรกทอรีย่อยภายใน อย่างไรก็ตามยังคงใช้งานได้หากปลายทางมีอยู่แล้ว

คุณสามารถเรียกใช้หลาย ๆ ครั้งและส่งผ่านไดเรกทอรีปลายทางเดียวกัน (ตัวอย่างเช่นหากคุณขัดจังหวะด้วยCtrl+ C) แม้ว่าคุณจะได้รับfailed to create symbolic linkข้อผิดพลาดสำหรับ symlink ที่มีอยู่แล้วและอาจทำให้สับสน

คุณอาจไม่ต้องการที่จะผ่านชื่อของไดเรกทอรีที่มีอยู่แล้วและมีไฟล์ที่ไม่เกี่ยวข้อง (เช่นไดเรกทอรีบ้านของคุณ) make-symlinksที่จะ หากคุณทำเช่นนั้นคุณสามารถคาดหวังว่าจะมีการสร้าง symlink และโฟลเดอร์ย่อยทั้งหมดขึ้นมา คุณอาจต้องการที่จะใช้ไดเรกทอรีใหม่ - หรือคนที่ไม่ได้อยู่ยัง - make-symlinksสำหรับ

นำเข้าต้นไม้ symlink ที่สร้างขึ้นใหม่เข้าไปใน Shotwell

หลังจากที่คุณเรียกใช้make-symlinksเพียงนำเข้าไดเรกทอรีที่คุณส่งไปยัง Shotwell โดยใช้วิธีใดวิธีหนึ่งที่ให้ไว้ในส่วนแรกของคำตอบนี้ ( "การเปิดโฟลเดอร์ภาพ (รวมถึงโฟลเดอร์ย่อย) ใน Shotwell" ) ตัวอย่างเช่นคุณสามารถเปิด Shotwell แล้วลากโฟลเดอร์

เนื่องจากรายการทั้งหมดในโฟลเดอร์เป็นลิงก์สัญลักษณ์ไปยัง.cr2ไฟล์หรือไดเรกทอรีที่มีรายการเหล่านั้นโดยไม่มีไฟล์ประเภทอื่น Shotwell จึงไม่ควรเห็นไฟล์อื่นใด


5

Shotwell จะวนรอบรูปภาพทั้งหมดที่พบในทุก ๆ ไดเรกทอรีที่รูปภาพเปิดอยู่ดังนั้นการใช้find -name '*.cr2' -exec shotwell '{}' +ตามที่ฉันแนะนำจริง ๆ ก็ไม่ได้ช่วยอะไร เนื่องจากการตั้งค่าของ Shotwell ค่อนข้าง จำกัด วิธีเดียวที่ฉันคิดว่าจะเปิดเฉพาะไฟล์ที่คุณต้องการคือการย้ายไฟล์ไปยังไดเรกทอรีใหม่ด้วยตนเอง

คุณสามารถใช้findสำหรับ:

mkdir ~/cr2files
find -type f -iname '*.cr2' -not -path './dir/*' -exec cp -v -- '{}' ~/cr2files \;

แทนที่cpด้วยmvหากคุณต้องการหลีกเลี่ยงการสร้างไฟล์ซ้ำ

หมายเหตุ:

  • mkdir ~/cr2files สร้างไดเรกทอรีใหม่ในไดเรกทอรีบ้านของคุณ
  • find ค้นหาวนซ้ำจากไดเรกทอรีปัจจุบันลงสู่ต้นไม้
  • -type f ค้นหาเฉพาะไฟล์
  • -iname ค้นหาไฟล์ตามชื่อโดยไม่สนใจขนาดตัวพิมพ์
  • '*.cr2'ชื่อที่ลงท้ายด้วย.cr2- ใช้เครื่องหมายอัญประกาศเพื่อหยุดการขยายเชลล์ก่อนที่มันจะถูกส่งไปfind
  • -not -path './dir/*'จะไม่รวมเนื้อหาของไดเรกทอรีdirจากผลลัพธ์
  • {} แสดงถึงเส้นทางของไฟล์ที่พบ
  • --after cpคือการบอกcpไม่ให้ยอมรับตัวเลือกเพิ่มเติมใด ๆ ซึ่งจะหลีกเลี่ยงชื่อไฟล์ใด ๆ ที่เริ่มต้นด้วย-สาเหตุที่ทำให้เกิดปัญหา

จากนั้นคุณสามารถเปิดไฟล์ใด ๆ ในไดเรกทอรีใหม่ด้วย Shotwell และวนไฟล์ทั้งหมด


เหตุใดจึงเปิดไฟล์. jpg และ. png ในไดเรกทอรีด้วย ฉันเห็นว่ามันระบุ * .cr2? ฉันจะให้มันดูไฟล์. cr2 ได้อย่างไรเมื่อฉันกดลูกศรซ้ายบน shotwell? ถ้าฉันใช้ \ แทนที่จะเป็น + ไม่มีอะไรเกิดขึ้น :(
user285884

โอ้! นี่เป็นปัญหา @ user285884 ฉันขอโทษ shotwell วนไปตามภาพทั้งหมดที่พบในไดเรกทอรี ... ให้ฉันดูว่าฉันสามารถหาวิธีรอบ ๆ มันได้หรือไม่
Zanna

@ user285884 แก้ไข แต่ฉันไม่สามารถหาทางออกที่สง่างาม :(
Zanna

1
โอเคขอบคุณสำหรับความพยายาม! เกี่ยวกับสิ่งนี้ฉันค้นหาในไดเรกทอรีสำหรับไฟล์. cr2 และย้ายไปไว้ในโฟลเดอร์ที่เรียกว่า cr2files ฉันทำไปแล้วภายในโฟลเดอร์ย่อยเดียวโดยใช้ mv * .cr2 ../cr2files/ และใช้งานได้! อย่างไรก็ตามฉันจะทำสิ่งนี้และระบุไฟล์ที่จะค้นหาได้อย่างไร บางอย่างเช่น "hey linux ดูที่โฟลเดอร์ 1-10 สำหรับไฟล์. cr2 และย้ายไปไว้ในโฟลเดอร์ cr2files"? ขอบคุณ Zanna
user285884

1
ดีสำหรับบริบทที่ฉันอยู่ ฉันทำรูปภาพหาย ดังนั้นฉันจึงทำโฟโตเรคและมันทำให้ฉันมีโฟลเดอร์มากมายพอที่จะเติมฮาร์ดไดรฟ์ทั้งหมดของฉัน ดังนั้นฉันต้องการดูในโฟลเดอร์ทั้งหมดในฮาร์ดไดรฟ์ของฉันยกเว้นหนึ่งอันเนื่องจากไฟล์นั้นมีไฟล์. cr2 มากมายที่ฉันรู้ว่าไม่ใช่ไฟล์ที่ฉันกำลังมองหา ดังนั้นฉันต้องการให้ลินุกซ์ดำเนินการผ่านโฟลเดอร์ทั้งหมดยกเว้นโฟลเดอร์เดียว ฉันไม่แน่ใจรหัสของคุณทำอย่างนั้น {} ทำอะไร ยังเป็น "-" หลังจาก -v ด้วยหรือไม่ ขอบคุณ Zanna!
user285884

1

ตัวเลือก 1 - ใช้xargsเมื่อชื่อไฟล์มีช่องว่าง

ตามที่ความคิดเห็นด้านล่างชี้ให้เห็นการใช้back ticks(ตัวเลือก 3 ด้านล่าง) จะแตกเมื่อชื่อไฟล์มีช่องว่าง วิธีที่ปลอดภัยกว่าในการใช้findคำสั่งและส่งผ่านผลลัพธ์ไปยังการshotwellใช้xargsตัวเลือกมีลักษณะดังนี้:

find . -name "*.cr2" -print0 | xargs -0 shotwell

การ-print0ตั้งค่าสถานะบอกให้ใช้\0ตัวคั่น (อักขระ null) ระหว่างชื่อไฟล์และ-0ค่าสถานะบอกxargsให้คาดหวัง\0ตัวคั่นเหล่านี้

ให้เครดิตกับคำตอบที่ยอดเยี่ยมที่นี่ ( วิธีไพพ์รายชื่อไฟล์ที่ส่งคืนโดยคำสั่ง find ) บน Stack Overflow

ตัวเลือก 2 - ใช้-execเมื่อชื่อไฟล์มีช่องว่าง

ในฐานะที่เป็นความคิดเห็นด้านล่างชี้ให้เห็น-execตัวเลือกนี้ยังสนับสนุนชื่อไฟล์ที่มีช่องว่าง ความคิดเห็นอื่น ๆ ด้านล่างชี้ให้เห็นตัวแบ่งนี้เมื่อจำนวนไฟล์เกินกว่านี้จะมีลักษณะเช่นนี้:

find . -name "*.cr2" -exec shotwell {} +

ตัวเลือก 3 - เมื่อชื่อไฟล์ไม่มีช่องว่าง

ในสมัยก่อนก่อนชื่อไฟล์จะมีช่องว่างและกลายเป็น 256 ตัวอักษรตัวเลือกนี้ทำงานได้ดี คุณจะพบตัวเลือกนี้ที่กล่าวถึงในเว็บไซต์อื่น ๆ แต่คุณไม่ควรใช้ตัวเลือกนี้ ย้อนกลับไปในวันนี้โดยใช้findคำสั่งและส่งผ่านผลลัพธ์ไปshotwellยังวิธีที่ง่ายที่สุด:

shotwell `find . -name "*.cr2"`

สิ่งนี้เริ่มต้นfindจากไดเรกทอรีปัจจุบันและรวมไดเรกทอรีย่อยทั้งหมด:

  • โปรดสังเกตการใช้back tickและไม่ใช่ราคาเดียว'ด้านบน การใช้เครื่องหมายขีดย้อนกลับจะคล้ายกับการใส่วลีไว้$(...)ในการทุบตี
  • อาร์กิวเมนต์แรก.ให้findจุดเริ่มต้นซึ่งเป็นไดเรกทอรีปัจจุบัน คุณสามารถผ่านหรือสิ่งอื่นแทน/home/$USER/Pictures.
  • อาร์กิวเมนต์ที่สอง-nameบอกให้ค้นหาเพื่อค้นหาชื่อไฟล์ (ไม่ใช่ไดเรกทอรี)
  • shotwellเทคนิคนี้ทำงานสำหรับคำสั่งทั้งหมดไม่เพียง คือคุณสามารถใช้มันสำหรับcat, head, tailและอื่น ๆ ที่คำสั่งลินุกซ์ที่นิยมมากที่สุด

การใช้ backticks เป็นเรื่องขมวดคิ้วและมีปัญหาในการแยกคำ ฉันขอแนะนำให้คุณเปลี่ยนเป็น pipe ด้วยxargs และใช้-0ชื่อไฟล์ทั้งหมดใช้สตริง NULL เป็นตัวคั่น
Sergiy Kolodyazhnyy

ปัญหาเกี่ยวกับวิธีการในคำตอบนี้คือมันทำสิ่งผิดเมื่อชื่อไฟล์ใด ๆ หรือชื่อของไดเรกทอรีใด ๆ ที่มีไฟล์มีช่องว่าง โปรดทราบว่าแม้ว่าหลายคนชอบ$( )ไวยากรณ์การแทนที่คำสั่งกับไวยากรณ์การทดแทนคำสั่ง backtick แต่ก็ไม่ได้เกี่ยวข้องกับปัญหานี้ - พวกเขาทั้งสองล้มเหลวในลักษณะเดียวกัน @Serg xargsผมขอแนะนำให้โพสต์คำตอบใหม่เกี่ยวกับวิธีการทำมันด้วย (การนำการแทนที่มาใช้" "จะไม่ได้ผล: findผลลัพธ์ทั้งหมดจะถูกส่งเป็นอาร์กิวเมนต์เดียว)
Eliah Kagan

ฉันยังเห็นxargsตัวเลือกStack Overflowเมื่อเขียนคำตอบนี้ ฉันจะขยายด้วยตัวเลือกนั้นด้วย น่าเสียดายที่ฉันต้องบูตด้วย Windows 8 เมื่อเช้านี้เพื่อแก้ไขNTFSพาร์ติชันที่เสียหายดังนั้นการทดสอบจึงเป็นปัญหา ฉันจะอัปเดตคำตอบในภายหลังว่า ขอบคุณสำหรับการชี้ให้เห็น :)
WinEunuuchs2Unix

ทำไมไม่เพียงแค่ใช้-exec?
Zanna

@ Zanna ฉันจะเพิ่ม-execตัวเลือกด้วย :)
WinEunuuchs2Unix

-2

ฉันไม่ทราบว่า shotwell แม้จะเปิดไฟล์ดิบ ฉันมั่นใจว่าคุณอาจได้รับไมล์สะสมเพิ่มขึ้นจาก digikam หรือ darktable Digikam มาพร้อมกับส่วนประกอบ Kde บางส่วนและเป็นผู้จัดการภาพถ่ายที่ดีงาม Darktable มาพร้อมความสามารถในการแก้ไขแบบไม่ทำลายที่ดีมาก


คุณสามารถขยายคำตอบนี้ (โดยแก้ไขไอเอ็นจี) เพื่อรวมข้อมูลโดยละเอียดเกี่ยวกับวิธีใช้ Digikam (หรือ Darktable) เพื่อเรียกดู.cr2ไฟล์ต่าง ๆ ในโฟลเดอร์ได้หรือไม่? ถ้าเป็นเช่นนั้นแล้วนี้อาจจะมีค่าตั้งแต่โปสเตอร์เดิมมีปัญหาในการรับ Shotwell จะแสดงเพียง.cr2ไฟล์ แม้ว่าฉันได้เพิ่มวิธีการเพิ่มเติมในคำตอบของฉันเพื่อให้สามารถใช้ Shotwell เพื่อเรียกดูไฟล์เหล่านั้นและไม่มีวิธีอื่น ๆ ได้ แต่ฉันค่อนข้างมั่นใจว่า Shotwell ไม่ใช่เครื่องมือที่ดีที่สุดสำหรับสิ่งนี้
Eliah Kagan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.