วิธีเปลี่ยนชื่อไฟล์ใน Bash

How Rename File Bash



การเปลี่ยนชื่อไฟล์เป็นงานทั่วไปสำหรับระบบปฏิบัติการใดๆ ทุกคนสามารถเปลี่ยนชื่อไฟล์ได้อย่างง่ายดายโดยใช้อินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) คุณยังสามารถเปลี่ยนชื่อไฟล์โดยใช้คำสั่งในสคริปต์ทุบตี มีคำสั่งมากมายใน Linux เพื่อเปลี่ยนชื่อไฟล์ คำสั่ง 'เอ็มวี' เป็นคำสั่งที่นิยมมากที่สุดสำหรับการเปลี่ยนชื่อไฟล์ มีคำสั่งอื่นที่เรียกว่า 'เปลี่ยนชื่อ' ที่สามารถนำไปใช้ในงานเดียวกันได้ อย่างไรก็ตาม คำสั่งนี้ไม่ได้ติดตั้งบน Ubuntu ตามค่าเริ่มต้น ดังนั้น คุณจะต้องติดตั้งคำสั่งนี้เพื่อเปลี่ยนชื่อไฟล์ บทความนี้อธิบายวิธีใช้สองคำสั่งใน bash เพื่อเปลี่ยนชื่อไฟล์

เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'mv'

คำสั่งที่ใช้บ่อยที่สุดใน Linux เพื่อเปลี่ยนชื่อไฟล์คือ 'เอ็มวี' สั่งการ. ไวยากรณ์ของคำสั่งนี้ได้รับด้านล่าง







ไวยากรณ์



mv [ตัวเลือก] แหล่งที่มาปลายทาง

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



ตัวอย่างที่ 1: เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'mv' โดยไม่มีตัวเลือก

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





#!/bin/bash

#ใช้ชื่อไฟล์เดิม
อ่าน -NS 'ป้อนชื่อไฟล์เดิมเพื่อเปลี่ยนชื่อ:'ต้นฉบับ
# ใช้ชื่อไฟล์ที่เปลี่ยนชื่อ
อ่าน -NS 'ป้อนชื่อไฟล์ที่เปลี่ยนชื่อเพื่อเปลี่ยนชื่อ:'เปลี่ยนชื่อ

#ตรวจสอบไฟล์ต้นฉบับว่ามีหรือไม่
ถ้า [ -NS $ ต้นฉบับ ];แล้ว
# เปลี่ยนชื่อไฟล์
$(mv $ ต้นฉบับ $เปลี่ยนชื่อ)
โยนออก 'ไฟล์ถูกเปลี่ยนชื่อ'
เป็น

เอาท์พุต



ตัวอย่างที่ 2: เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'mv' โดยใช้ -i option

ปัญหาจากตัวอย่างข้างต้นสามารถแก้ไขได้โดยใช้คำสั่ง '-ผม' ตัวเลือกด้วย 'เอ็มวี' สั่งการ. สคริปต์ต่อไปนี้จะขออนุญาตจากผู้ใช้ในการเขียนทับก่อนดำเนินการเปลี่ยนชื่อ หากผู้ใช้กด ' NS ' จากนั้นงานเปลี่ยนชื่อจะไม่เสร็จ

#!/bin/bash

#ใช้ชื่อไฟล์เดิม
อ่าน -NS 'ป้อนชื่อไฟล์เดิมเพื่อเปลี่ยนชื่อ:'ต้นฉบับ
# ใช้ชื่อไฟล์ที่เปลี่ยนชื่อ
อ่าน -NS 'ป้อนชื่อไฟล์เปลี่ยนชื่อเพื่อเปลี่ยนชื่อ:'เปลี่ยนชื่อ

#ตรวจสอบไฟล์ต้นฉบับว่ามีหรือไม่
ถ้า [ -NS $ ต้นฉบับ ];แล้ว
#ตรวจสอบการเปลี่ยนชื่อไฟล์ว่ามีอยู่หรือไม่
ถ้า [$(mv -ผม $ ต้นฉบับ $เปลี่ยนชื่อ) ];แล้ว
โยนออก 'ไฟล์ถูกเปลี่ยนชื่อ'
เป็น
เป็น

เอาท์พุต

เปลี่ยนชื่อไฟล์ด้วยคำสั่ง 'เปลี่ยนชื่อ'

NS 'เปลี่ยนชื่อ' เมธอดใช้สำหรับงานการเปลี่ยนชื่อไฟล์ขั้นสูง เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อติดตั้ง 'เปลี่ยนชื่อ' สั่งการ.

$sudoฉลาดติดตั้งเปลี่ยนชื่อ

ไวยากรณ์ของคำสั่งนี้ได้รับด้านล่าง

ไวยากรณ์

เปลี่ยนชื่อ[ตัวเลือก] 's/ค้นหา/แทนที่/'ไฟล์

คำสั่งนี้สามารถใช้ได้ทั้งแบบมีและไม่มีตัวเลือก เช่น ' mv ' สั่งการ. สามารถเปลี่ยนชื่อไฟล์ได้หลายไฟล์พร้อมกันโดยใช้นิพจน์ทั่วไป ที่นี่ ' NS ’ หมายถึงการแทนที่ หากพบข้อความค้นหา ไฟล์จะถูกเปลี่ยนชื่อด้วยข้อความแทนที่

ตัวอย่างที่ 3: เปลี่ยนชื่อไฟล์ที่ตรงกับนิพจน์ทั่วไป

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

#!/bin/bash

# ใช้ข้อความค้นหา
อ่าน -NS 'ป้อนข้อความค้นหา:'ค้นหา
# ใช้ข้อความแทนที่
อ่าน -NS 'ป้อนข้อความแทนที่:'แทนที่

# เปลี่ยนชื่อไฟล์ทั้งหมดที่ตรงกับรูปแบบ
$(เปลี่ยนชื่อ'NS/.$search/.$replace/ ' *)
โยนออก 'ไฟล์ถูกเปลี่ยนชื่อ'

เอาท์พุต

บทสรุป

บทความนี้ใช้ตัวอย่างจำนวนมากเพื่อแสดงการใช้ 'เอ็มวี' และ 'เปลี่ยนชื่อ' คำสั่งทุบตี การเปลี่ยนชื่อไฟล์น่าจะง่ายกว่าสำหรับผู้ใช้ bash หลังจากฝึกตัวอย่างข้างต้น