首页 > 解决方案 > 在linux中重命名文件名的第一部分?

问题描述

我有很多以processConfig-. 我想将其重命名为processCfg-. processCfg-在linux中将文件名的第一部分更改为的简单方法是什么?

但我不想重命名这个文件processConfig.json,因为它与我的前缀不匹配。

> ls -lrth
total 467
-rw-r--r--  1 david  staff   9.8K May 26 15:14 processConfig-data-1234.json
-rw-r--r--  1 david  staff    11K May 26 15:14 processConfig-data-8762.json
-rw-r--r--  1 david  staff   4.9K May 26 15:14 processConfig-dataHold-1.json
-rw-r--r--  1 david  staff   6.6K May 26 15:14 processConfig-letter.json
-rw-r--r--  1 david  staff   5.6K May 26 16:44 processConfig-data-90987.json
-rw-r--r--  1 david  staff   284K May 28 18:44 processConfig.json

标签: linuxmv

解决方案


像这样 :

rename -n 's/^processConfig-/processCfg-/' processConfig-*.json

-n当输出看起来不错以真正重命名时删除开关。

人重命名

警告 还有其他同名的工具可能会也可能不会这样做,所以要小心。

作为包的一部分的重命名命令util-linux不会。

如果您运行以下命令 ( GNU)

$ file "$(readlink -f "$(type -p rename)")"

你有一个包含Perl script, ASCII text executable和不包含的结果ELF,那么这似乎是正确的工具=)

如果不是,则使其成为默认值(通常已经如此)Debian和衍生,例如Ubuntu

$ sudo apt install rename
$ sudo update-alternatives --set rename /usr/bin/file-rename

如果您在其他发行版中没有此命令,请搜索您的包管理器以安装它或手动执行(无依赖...)


这个工具最初是由 Perl 的父亲 Larry Wall 编写的。


推荐阅读