เปลี่ยนชื่อไฟล์หลายไฟล์พร้อมกันด้วยคำสั่ง rename

เคยบ้างไหม ที่ต้องเปลี่ยนชื่อไฟล์บน Linux หลายๆ ไฟล์พร้อมกัน เช่นเปลี่ยนชื่อไฟล์จาก .htm เป็น .html

แทนที่ต้องใช้คำสั่ง mv เพื่อเปลี่ยนชื่อไฟล์ทีละไฟล์  หรือเขียน shell script มาช่วยเปลี่ยนชื่อ

ใช้ Linux มาตั้งนาน เพิ่งรู้ว่ามีคำสั่งแบบนี้ด้วย (ฮา) เปลี่ยนชื่อไฟล์หลายไฟล์พร้อมกันด้วยการรันคำสั่งเดียว rename

วิธีการใช้คำสั่ง

$ rename from to file...

คำอธิบาย

  • from  รูปแบบชื่อไฟล์เดิม
  • to         รูปแบบชื่อไฟล์ใหม่
  • file…  ระบุไฟล์ที่จะเปลี่ยน

ตัวอย่างการใช้

ตัวอย่างชื่อไฟล์เดิม

$ ls -l
total 0
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page1.htm
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page2.htm
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page3.htm
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page4.htm

ต้องการเปลี่ยนชื่อไฟล์ .htm เป็น .html สามารถทำได้ด้วยการรันคำสั่ง rename เพียงครั้งเดียว

$ rename .htm .html *.htm

เสร็จ! ชื่อไฟล์ได้ถูกเปลี่ยนไปแล้ว

$ ls -l
total 0
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page1.html
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page2.html
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page3.html
-rw-r--r-- 1 user1 users 0 Jan  8 15:30 page4.html

ข้อมูลอ้างอิง

  • man rename

Leave a Reply

Your email address will not be published.