ฉันมีไฟล์บางไฟล์ที่ฉันได้รับพร้อมชื่อเช่น (สำหรับหลาย ๆ คนที่ต้องทำด้วยตนเองทุกวัน):
AA.B.txt
WW.C.txt
และฉันต้องการเปลี่ยนชื่อพวกเขาเป็นAA_B.txt
และWW_C.txt
เพื่อให้รหัส SQL ที่มีอยู่ยังคงทำงานตามที่คาดไว้ ตอนนี้ไฟล์เหล่านี้จะถูกละเว้นเนื่องจากรูปแบบ filename.letter.txt
ls
ใช้งานได้และแสดงไฟล์เหล่านี้ให้ฉัน:
$ ls -a *.*.txt
AA.B.txt*
ABR.A.txt*
ABR.B.txt*
ABR.C.txt*
ACT.A.txt*
อย่างไรก็ตามmv
คำสั่งที่คล้ายกันล้มเหลว:
$ mv *.*.txt *_*.txt
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
ฉันจะจับคู่รูปแบบที่ฉันมีกับสิ่งที่ฉันต้องการได้อย่างไร
mv *.*.txt *_*.txt
*.*.txt
echo *.*.txt
*_*.txt
echo *_*.txt