วิธีการเปลี่ยนส่วนขยายของแฟ้มผ่านทางบรรทัดคำสั่งใน Mac OS

ผู้ใช้บรรทัดคำสั่งอาจพบว่าการเปลี่ยนและเปลี่ยนชื่อส่วนขยายของกลุ่มของไฟล์ในไดเรกทอรีเป็นประโยชน์ ตัวอย่างเช่นสมมุติว่าคุณมีแบทช์ไฟล์ที่มีนามสกุลไฟล์ ".txt" แต่คุณต้องการให้นามสกุลไฟล์ทั้งหมดเป็น ".py" แทน นี่คือสิ่งที่เรากำลังจะแสดงให้เห็นที่นี่โดยการใช้สคริปต์แบบทุบตีแบบง่ายๆเพื่อเปลี่ยนกลุ่มของส่วนขยายไฟล์ที่บรรทัดคำสั่งของ Mac OS / OS X แต่การทำงานนี้จะทำงานในลินุกซ์และยูนิกซ์อื่น ๆ ด้วย


ก่อนที่จะเริ่มต้นให้ตระหนักว่านี่ไม่ใช่การเปลี่ยนแปลงชนิดของไฟล์มันเป็นเพียงการเปลี่ยนนามสกุลไฟล์ นอกจากนี้วิธีการแบบมีขั้นตอนนี้มีเจตนาโดยใช้บรรทัดคำสั่งและมีจุดประสงค์เพื่อผู้ใช้ขั้นสูงมากขึ้น อย่างไรก็ตามเทอร์มินัลไม่ใช่วิธีเดียวในการทำเช่นนี้ดังนั้นหากขั้นตอนนี้สูงเกินไปหรือไม่เกี่ยวข้องกับชุดทักษะผู้ใช้ของคุณโปรดจำไว้ว่า Mac OS มีเครื่องมือง่ายๆในการเปลี่ยนชื่อไฟล์ทั้งชุดใน Mac OS และแบทช์เปลี่ยนนามสกุลไฟล์ใน Finder ด้วยซึ่งไม่จำเป็นต้องมีบรรทัดคำสั่งเลย ตกลง? ทำตามวิธีบรรทัดคำสั่งโดยใช้สคริปต์ bash บรรทัดเดียว

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

วิธีการเปลี่ยนส่วนขยายของแฟ้มทั้งหมดในไดเรกทอรีผ่านทางบรรทัดคำสั่ง

ลองมาดูตัวอย่างกันบ้าง ในตัวอย่างแรกเราจะเปลี่ยนไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันที่มีนามสกุล ".txt" และเปลี่ยนเป็น ".py" แทน สมมติว่าคุณอยู่ในไดเรกทอรีที่คุณต้องการเปลี่ยนไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันเป็นส่วนขยายไฟล์ใหม่นี่คือไวยากรณ์ที่ใช้:

for file in *.txt; do mv "$file" "${file%.txt}.py"; done

หมายเหตุนี้ใช้ wildcard * หมายถึงอะไรและทุกอย่างในไดเรกทอรีปัจจุบันที่ตรงกับ "* .txt" นามสกุลไฟล์จะมีการเปลี่ยนแปลง นอกจากนี้โปรดทราบว่า "txt" หลายอินสแตนซ์ของ "py" ทั้งสองแบบที่คุณต้องการเปลี่ยนให้เหมาะสมกับความต้องการของคุณ

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

สมมติว่าเรามีคอลเลกชันของไฟล์รูปภาพในไดเร็กทอรีปัจจุบันที่มีชื่อไฟล์เช่น "blahblah.jpg.JPEG" แต่จริงๆแล้วเราต้องการให้ทุกไฟล์มีชื่อไฟล์เดียวกับที่ซ้ำซ้อนและอ่านได้ง่ายขึ้น “blazblah.jpeg” ในกรณีนี้ไวยากรณ์จะมีลักษณะดังนี้:

for file in *.jpg.JPEG; do mv "$file" "${file%.jpg.JPEG}.jpeg"; done

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

และเพื่อย้ำอีกครั้งนี่ไม่ใช่การแปลงไฟล์ประเภทใด ๆ หรือเปลี่ยนแปลงอะไรก็ได้ แต่เป็นชื่อนามสกุลของไฟล์

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