Python 如何递归更改多个文件名的部分?

Python 如何递归更改多个文件名的部分?,python,bash,awk,Python,Bash,Awk,我有1000个随机编号的文件,比如 xxxx_0.txt xxxx_4.txt xxxx_5.txt xxxx_7.txt xxxx_8.txt 期望输出 xxxx_0.txt xxxx_1.txt xxxx_2.txt xxxx_3.txt xxxx_4.txt此 i=0; for f in x_*.txt; do pre="${f%%_*}"; echo mv "$f" "new/${pre}_${i}.txt"; ((i++)); done mv x_0.t

我有1000个随机编号的文件,比如

xxxx_0.txt
xxxx_4.txt
xxxx_5.txt
xxxx_7.txt
xxxx_8.txt

期望输出

xxxx_0.txt
xxxx_1.txt
xxxx_2.txt
xxxx_3.txt
xxxx_4.txt

i=0; 
for f in x_*.txt; 
do 
   pre="${f%%_*}"; 
   echo mv "$f" "new/${pre}_${i}.txt"; 
   ((i++)); 
done

mv x_0.txt new/x_0.txt
mv x_3.txt new/x_1.txt
mv x_4.txt new/x_2.txt
mv x_5.txt new/x_3.txt
删除
echo
。如果在同一目录中工作,很可能会覆盖现有文件。因此,创建一个
new
目录,并在新的索引名称下移动其中的文件