擅长:python、mysql、java
<p>我知道你要的是python,但我会从shell开始。这是一个简单的单行线。在</p>
<p><code>ls | awk '{print "mv " $0 FS substr($1,5,2) substr($1,1,4) substr($1,7) }' | bash</code></p>
<p>我不使用osx,但我认为它是一个bashshell。您可能需要将bash重命名为sh,或将awk重命名为gawk。在</p>
<p>但这行代码所做的是将目录列表管道化到awk,awk将打印“mv”$0(行)和一个空格(FS=field separator,默认为space),然后是两个子字符串。在</p>
<blockquote>
<p>substr(s,c,n). This returns the substring from string <em>s</em> starting from character position <em>c</em> up to a maximum length of <em>n</em> characters. If <em>n</em> is not supplied, the rest of the string from <em>c</em> is returned. </p>
</blockquote>
<p>最后,这是通过管道连接到外壳的。允许它被执行。这在ubuntu和我经常使用的这个命令的变体上工作没有问题。awk(awk,nawk,gawk)的一个版本应该安装在osx上,我相信它使用bash</p>