ข้ามส่วนขยายพร้อมค้นหาหรือไม่


11

ฉันต้องการสร้างภาพขนาดย่อจากไฟล์. png หลายไฟล์และต้องการทำสิ่งนี้โดยใช้convertยูทิลิตี้ImageMagicks หากต้องการค้นหาไฟล์ทั้งหมดที่ไม่ใช่ภาพขนาดย่อซ้ำ ๆ ฉันใช้การโทรต่อไปนี้ (แยกออกเป็นสองบรรทัดเพื่อให้สามารถอ่านได้):

find . -type f -name "*.png" -not -name "*thumb.png*" \
  -exec convert {} -thumbnail 200x200 {}.thumb.png \;`

แต่ของหลักสูตรนี้จะสร้างไฟล์ชื่อเมื่อทำงานบนไฟล์ที่เรียกว่าa.png.thumb.png a.pngฉันจะลบ.pngส่วนขยายจาก{}พารามิเตอร์ตัวที่สองที่ส่งผ่านเพื่อแปลงได้อย่างไร

คำตอบ:


14

วิธีที่ง่ายที่สุดในการทำเช่นนี้คือส่งผ่าน{}ไปยังเชลล์เหมือนshและให้เชลล์ทำ:

find ... \
    -exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.