代码之家  ›  专栏  ›  技术社区  ›  user6792790

在linux中删除以2位数字结尾的文件

  •  4
  • user6792790  · 技术社区  · 7 年前

    在我的文件夹中,我想删除以2位数字(10、11、12等)结尾的文件

    rm [0-9]*
    

    但它似乎不起作用。

    这样做的正确语法是什么?

    2 回复  |  直到 7 年前
        1
  •  3
  •   Jonathan Leffler    7 年前

    将评论转换为答案。

    rm -i *[0-9][0-9]
    

    只要你不介意以三位数结尾的文件被删除。如果您不介意删除三位数文件,请使用:

    rm -i *[!0-9][0-9][0-9]
    

    rm -i [0-9][0-9]
    

    小心

    -i 选项用于交互。通常,尝试全球化和 rm

    echo *[!0-9][0-9]
    

    它会回显所有文件名,或者:

    printf '%s\n' *[!0-9][0-9]
    

    其中每行列出一个文件名。基本上,在尝试删除文件时要小心,除非你知道你有现成的好备份,否则不要冒出错的风险。即使如此,最好不要使用它们

        2
  •  0
  •   dlmeetei    7 年前

    命令

    rm [0-9]*
    

    意味着删除 所有文件 []

    然而,您打算删除以两位数结尾的文件,所以命令应该是

    rm *[0-9][0-9]
    

    如果您有一些文件扩展名,则该命令应修改为

    rm *[0-9][0-9]* or
    rm *[0-9][0-9].ext
    

    哪里 ext txt