我已将一些文件下载到目录中。
我希望所有文件的前缀为001,002,..... 050,如编号顺序
但我希望这些文件位于File created Order
中前缀应采用以下方式
我试过了
for i in "$(ls -c)";
do
echo i;
done;
echo i
正在打印好的文件名。但我想以这种格式001,002,003,.....
答案 0 :(得分:0)
尝试使用循环,let和printf作为填充:
a=1
for i in *; do
new=$(printf "%03d" "$a") #03 pad to length of 3
mv -i -- "$i" "$new$i"
let a=a+1
done
使用-i标志可以防止自动覆盖现有文件。
答案 1 :(得分:0)
尝试使用当前目录:
c=0
find . -maxdepth 1 -type f -printf '%A@ %f\n' |
sort -n -k1 |
while IFS= read -r line; do
echo mv "${line#* }" "$(printf '%03d_%s\n' $((++c)) "${line#* }")"
done
注意:当测试结果正常时,删除echo
mv
命令