擅长:python、mysql、java
<p>最简单的方法是使用<code>rename</code>,也就是<code>Perl rename</code>。它将:</p>
<ul>
<li>你可以运行任意复杂的代码来找出一个新的名字</li>
<li>让你做一次试运行,告诉你什么都不做会怎么样</li>
<li>如果有文件将被覆盖,将向您发出警告</li>
<li>自动创建中间目录层次结构</李>
</ul>
<p>所以你想要的命令是:</p>
<pre><code>rename -n -p -e '(my $num = $_) =~ s/\D//g; $_ = ($num+29)-(($num-1)%30) . "/" . $_' *png
</code></pre>
<p><strong>样本输出</strong></p>
<pre><code>'image_1.png' would be renamed to '30/image_1.png'
'image_10.png' would be renamed to '30/image_10.png'
'image_100.png' would be renamed to '120/image_100.png'
'image_101.png' would be renamed to '120/image_101.png'
'image_102.png' would be renamed to '120/image_102.png'
'image_103.png' would be renamed to '120/image_103.png'
'image_104.png' would be renamed to '120/image_104.png'
...
...
</code></pre>
<p>如果看起来正确,您可以再次运行它,而不必使用<code>-n</code>开关来真正执行它</p>