找文件?在文件名中并重命名这些

时间:2016-04-12 09:34:10

标签: find rename xargs

wget一个Wordpress后,我有一个带“?”的文件在文件名中。

如何重命名这些并删除文件名结尾?

find -type f -name '*.js*' | xargs
./PATH/TO/xxx.js?ver=1.0.0

find -type f -name '*.js*' | xargs rename "s/\?.*$//g"

不工作!

find -type f -name '*.js*' | xargs rename -n "s/xxx/123/g"

没有输出!

部分源代码:

...
        <script src="http://www.example.com/wp-content/themes/example/js/example.js?ver=1.0.0" type="text/javascript"></script>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

我找到了一个简单的解决方案:

find | rename 's/\?ver=1\.0\.0$//g'

更通用的方式:

find | rename 's/\?ver=\d\.\d\.\d$//g'

不要忘记测试!

find | rename -n ...

保持简单,愚蠢。 : - )