Files
文件名修改
假設我有 1000 個文件,名為
file1.txt
…file1000.txt
如果數字可以被 10 整除,我需要更改文件名。
我這樣做了,它只是改變了第一個字母
for f in *.txt; do mv -- "$f" "${f%.txt}.doc"; done
@Henrik supports the community
的評論很貼切。此外,我一直主張列印要執行的命令,然後仔細查看這些命令。這為您提供了內置的“試執行”功能。 如果命令看起來正確,則再次執行腳本並將輸出通過管道傳輸到sh
. OTOH,如果命令不正確,則沒有造成損壞。for f in *0.txt do printf 'mv -- %q %q\n' "$f" "${f%.txt}.doc" done
感謝 Stéphane Chazelas 建議更安全地使用
printf
’%q
指令。