【问题标题】:Recursively trying to rename files in Mac OS terminal递归尝试重命名 Mac OS 终端中的文件
【发布时间】:2018-09-24 19:07:33
【问题描述】:

我有许多子文件夹,其中包含包含文本 mainLine 的文件。我想删除该文本并递归重命名所有文件。

例如我正在尝试将log12 mainLine.txt 重命名为log12.txt,我正在尝试以下代码:

find . -exec rename -nvs '* mainLine*' '' * {} +

但我得到的文件包含未更改的模式。

【问题讨论】:

    标签: bash macos terminal find rename


    【解决方案1】:

    rename 有很多版本,据我所知,Mac OS 中没有一个默认安装;但是您使用的选项建议您使用一个期望文件名重命名为第三个和后续参数的选项。您显然从某个地方复制/粘贴它而没有理解它。您应该将* 替换为您要重命名的文件,或者更好的是,在通配符不变的情况下每个目录运行一次。

    find . -type d -execdir sh -c "rename -nvs '* mainLine*' '' *" \;
    

    【讨论】:

      猜你喜欢
      • 2013-05-31
      • 2021-07-23
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多