我已经看到接近这个问题,但我还没有看到我需要的确切答案,似乎无法让我的头包裹正则表达式,awk,sed,grep ,重命名我需要做到这一点。批量重命名文件重新排列基于分隔符的文件名
我有一个目录中的文件,从一个不同目录的多个子目录中按顺序命名,这个目录是使用find通过管道传递给xargs的。
命令我使用:
find `<dir1>` -name "*.png" | xargs cp -t `<dir2>`
这导致包含重复的文件名依次命名为第二目录如下:
<name>
png格式
<name>
.PNG〜1〜
<name>
.png。〜2〜
...。 <name>
巴纽〜N〜
我想要做的就是采取一切文件结尾的〜*〜和如下其重命名为:。
<name>
#PNG ,其中“# “是文件名末尾的”〜“之间的数字
任何帮助,将不胜感激。
赛勒斯一个小的shell脚本 - 非常感谢你,非常完美。 – hmatthewsims
赛勒斯向前迈进了一步,现在如何处理文件扩展名是什么,无论是PNG,jpg,jpeg,ico等,它都会使用正确的扩展名。 – hmatthewsims
我已经更新了我的答案。请看看:[我应该怎么做当有人回答我的问题?](http://stackoverflow.com/help/someone-answers) – Cyrus