【问题标题】:Delete files from 00012 to 00441 using Terminal使用终端删除从 00012 到 00441 的文件
【发布时间】:2018-05-05 22:07:15
【问题描述】:

这是我的 Bash 版本: 3.2.57(1)-发布

我发现这可能使用终端 rm code,但它对我不起作用

这是第一个文件的图片: Picture of a bunch of Files

输入 rm _{00012..00441} 我得到这个错误: Terminal Error

似乎我们无法使用前导零的代码,因为它试图找到像 12,13,14,15 这样的文件,而不是 00012,00013,00014,00015

为了让事情变得更加困难,范围中的最后一个文件具有不同数量的前导零,因此使用 rm _000{ 将不起作用

在尝试使用 AppleScript 来运行它时

do shell script ("rm  _{" & STARTrange & ".." & ENDrange & "}.psd")

【问题讨论】:

  • 将您的 bash 版本添加到您的问题中。
  • 4.0 版中添加了大括号扩展中的前导零。
  • @Cyrus这是一个很好的线索,我使用自制软件安装了最新版本的 Bash (4.4.19),它现在可以与普通 m _{00012..00441}

标签: bash macos range leading-zero brace-expansion


【解决方案1】:

试试这个命令。

find ./ -name "_0*.psd" -type f -delete;

【讨论】:

    【解决方案2】:

    感谢赛勒斯,我完成了这项工作。 OSX 中的答案是使用自制软件安装最新版本的 Bash。

    使用本指南,我能够将默认 Bash 从终端更改为 Homebre 安装:https://apple.stackexchange.com/questions/193411/update-bash-to-version-4-0-on-osx

    谢谢

    【讨论】:

      【解决方案3】:

      对于早于 v4.0bash 版本,其中任何一个都应该可以工作:

      1. rm _000{12..99} _00{100..441}
      2. rm $(printf '_%.5i ' {12..441})

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-08
        相关资源
        最近更新 更多