ฉันต้องการเปลี่ยนชื่อหลายไฟล์ในไดเรกทอรีเดียวกันโดยใช้ Bash scripting ชื่อของไฟล์มีดังนี้:
file2602201409853.p
file0901201437404.p
file0901201438761.p
file1003201410069.p
file2602201410180.p
ฉันต้องการเปลี่ยนชื่อเป็นรูปแบบต่อไปนี้:
file2503201409853.p
file2503201437404.p
file2503201438761.p
file2503201410069.p
file2503201410180.p
ฉันกำลังอ่านเกี่ยวกับคำสั่งเปลี่ยนชื่อและพยายามทำเช่นนี้ แต่ไม่ทำอะไรเลยฉันคิดว่าฉันมีคำถามเกี่ยวกับไวยากรณ์ จากนั้นฉันอ่านว่าคุณสามารถสร้างลูปโดยใช้คำสั่งmvดังนี้:
for file in cmpsms*2014*.p; do
mv "$file" "${file/cmpsms*2014*.p/cmpsms25032014*.p}"
done
แต่ฉันไม่สามารถเปลี่ยนชื่อไฟล์ได้ ผมทำอะไรผิดหรือเปล่า?
*
คืออะไร?