a.vcproj -> a.vc9.vcproj b.vcproj -> b.vc9.vcproj a.vcproj -> c.vc9.vcproj其實只要用 bash 寫一個 for 迴圈就解決了
for x in *vcproj do mv $x ${x%%vcproj}vc9.vcproj done硬是要寫成一行也可以
for x in *vcproj; do mv $x ${x%%vcproj}vc9.vcproj; done
*vcproj
代表所有結尾是 vcproj 的檔名,
$x 代表所取到檔名的其中一個,問題來了怎樣取得副檔名前面的部分呢?
利用 bash 所提供的
Shell Parameter Expansion,可以輕鬆地達到這個目的,
${x%%vcproj}
代表 $x
從後面扣掉 vcproj
所剩下的部分。
註:在測試 for 迴圈時,可以先把 mv 改成 echo, 這樣可以避免誤改檔名的麻煩。
No comments:
Post a Comment