【问题标题】:rename multiple filename in linux [closed]在linux中重命名多个文件名[关闭]
【发布时间】:2014-09-14 02:35:09
【问题描述】:

我有很多名为 xxxx.min.js 的文件,想将文件重命名为 xxxx.js 所以基本上想删除 .min > 仅限。

有没有我可以用来完成这项工作的命令?

我认为对每个文件都使用重命名命令会很容易,但是因为我有很多文件,所以这将花费很长时间。

有什么想法吗?

【问题讨论】:

  • 那你使用rename命令错误。
  • 但是你为什么不在你的网络服务器上处理它呢?
  • 我想在我的网络服务器上这样做,但也许我用错了……不知道怎么做!!
  • 呃,你在重写规则中这样做......
  • 我不确定将 .min.js 文件重命名为 .js 是否正确,因为它们本来就是这样命名的。

标签: linux filenames rename


【解决方案1】:

Ubuntu 和 Debian linux 发行版都有一个 perl 版本的 mv 函数,称为 renameprename,它支持正则表达式。手册可以在here找到。

进入文件所在文件夹,执行如下命令:

rename s/\.min\.js$/\.js/ *.min.js

【讨论】:

  • 我觉得这个命令有问题...!!是??
  • 我已经更改了错误并在我的 Ubuntu VM 上进行了测试。它现在应该可以正常工作了。它真的很连线,因为 是从 Ubuntu 手册中复制的。
  • rename 命令也在 Fedora(可能是 RedHat/CentOS)上,以供将来参考。
  • Debian/Ubuntu Linux 是否一样?可能是mv
【解决方案2】:

这是一个仅限 bash 的命令(不需要 Perl)

 for i in *.min.js; do a=$(basename $i .min.js); echo mv $i $a.js; done

解释

 for i in *.min.js; do

遍历所有匹配*.min.js的文件

 a=$(basename $i .min.js)

提取文件的基本名称(即剥离.min.js)并将结果保存在$a

echo mv $i $a.js

现在,在控制台打印如果您删除 echo 会运行的命令

当您对它生成正确的命令感到满意时,删除echo 以实际重命名文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-06
    • 2022-01-13
    • 2012-07-20
    • 2016-10-20
    • 2018-10-26
    • 2012-06-14
    • 2016-05-06
    • 2020-10-31
    相关资源
    最近更新 更多