【问题标题】:Remove Middle Part of File Name in Linux在 Linux 中删除文件名的中间部分
【发布时间】:2019-10-30 23:41:57
【问题描述】:

我在 Linux 命令行中使用 rename 命令尝试了很多变化,但当我执行这些命令时没有任何反应 - 没有错误,也没有预期的结果。我尝试使用find 命令查找文件,然后重命名它们,但没有成功。我有看起来像这样的文件

201901.cdas1.20190101.pgrbh.grb2flxf06.grb2
201902.cdas1.20190102.pgrbh.grb2flxf06.grb2 

对于需要特定文件名格式201901.flxf06.grb2201902.flxf06.grb2 的脚本,我需要它们看起来像这样。

我需要用通配符删除文件名的中间部分,因为多个文件中的日期会发生变化。删除的部分是这样的:cdas1.pgrbh.grb2

这不是家庭作业,我大部分时间都在网上搜索,尝试使用除重命名选项或 for 循环之外的其他选项,因为我收到了缺少 } 大括号的错误。谢谢!

【问题讨论】:

  • var=201901.cdas1.20190101.pgrbh.grb2flxf06.grb2;echo "${var/cdas1*.pgrbh.grb2}" 产生 201901.flxf06.grb2 。祝你好运。

标签: linux filenames partial


【解决方案1】:

假设您使用的是perl rename 命令:

rename 's/cdas1\.pgrbh\.grb2//' *.cdas1.20190101.pgrbh.grb2*.grb2

【讨论】:

    猜你喜欢
    • 2019-02-10
    • 2012-08-23
    • 2017-12-23
    • 2017-01-13
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    相关资源
    最近更新 更多