如何更改所有文件名中的编号?
How can I change numbering in all of the file names?
我有1000个文件,格式为framexxx.dat,比如
frame0.dat frame1.dat frame2.dat .... frame999.dat
我希望将这些文件的名称更改为
frame000.dat frame001.dat frame002.dat .... frame999.dat
有没有简单的 linux 命令可以做到这一点?
此外,如果我的文件是 framexx.dat 或 framexxxx.dat(xx 是 2 位数字,xxxx 是 4 位数字),那么我如何更改代码以执行相同的操作?
你必须分组处理:
- 第 0 组:从
frame100.dat
到 frame999.dat
:此处无事可做。
第1组:从frame10.dat
到frame99.dat
:加一个0
for i in {10..99}; do mv frame$f.dat frame0$f.dat; done
第2组:从frame0.dat
到frame9.dat
:加2个0
for i in {0..9}; do mv frame$f.dat frame00$f.dat; done
一般准则是先处理大数字(在某些情况下可能会出现一些并发症)
这可以扩展到更大的数字...你明白了。
我有1000个文件,格式为framexxx.dat,比如
frame0.dat frame1.dat frame2.dat .... frame999.dat
我希望将这些文件的名称更改为
frame000.dat frame001.dat frame002.dat .... frame999.dat
有没有简单的 linux 命令可以做到这一点?
此外,如果我的文件是 framexx.dat 或 framexxxx.dat(xx 是 2 位数字,xxxx 是 4 位数字),那么我如何更改代码以执行相同的操作?
你必须分组处理:
- 第 0 组:从
frame100.dat
到frame999.dat
:此处无事可做。 第1组:从
frame10.dat
到frame99.dat
:加一个0for i in {10..99}; do mv frame$f.dat frame0$f.dat; done
第2组:从
frame0.dat
到frame9.dat
:加2个0for i in {0..9}; do mv frame$f.dat frame00$f.dat; done
一般准则是先处理大数字(在某些情况下可能会出现一些并发症)
这可以扩展到更大的数字...你明白了。