Linux:使用精确的子字符串重命名文件

标签 linux shell ubuntu

我有一个 JAR 文件,其版本号附加在文件名中,每次从外部存储库重建时,我想在 crontab shell 脚本中将其重命名为通用名称。例如:“example-1.9.4.jar”应重命名为“example.jar”,以便所有版本共享相同的文件名(任何给定目录中一次不存在多个版本)。我正在考虑将正则表达式与重命名命令一起使用,但我不知道如何处理确切的子字符串模式。

如何使用重命名命令从文件名中删除版本号?

最佳答案

使用rename实用程序,您可以执行以下操作:

rename -n 's/-(\d+\.)+jar$/.jar/' *.jar

如果重命名不可用,则使用:

for f in *.jar; do
    mv "$f" "${f/-[0-9]*jar/.jar}"
done

关于Linux:使用精确的子字符串重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304964/

相关文章:

linux - Bash 脚本命令未执行

unix - unix中子进程的nohup

php - 即使在 ubuntu 中安装 curl 后,curl 扩展也没有显示在 php.ini 中

linux - 带有 getopts 的脚本不会为变量赋值

linux - 如何将我的 linux 文件拆分成多个文件?

c++ - Will process load into memory with 4 or 8 对齐规则

shell - 如何像开发者命令提示符一样配置VS Code shell?

shell - 如何在 postgres 中使用 shell 脚本触发 VACUUM 命令

php.ini 无法更改 upload_max_filesize

mongodb - 如何在 Ubuntu 上运行 mongo shell