Linux:删除/删除以五位数字结尾的.txt文件

Linux:删除/删除以五位数字结尾的.txt文件,linux,Linux,顺便说一句,这个命令适用于me-rm{path}/*[0-9][0-9][0-9][0-9][0-9].txt 有较短的路吗?因为根据需要,我们可以将此扩展到 删除所有以10位数字结尾的.txt文件 find /path/to/search -type f -regextype posix-extended -regex '^.*/[0-9]{10}\.txt' -exec rm -f {} \; --我们需要删除名称为abc12345、ac12456、abcd98653等的文件。此cmd查

顺便说一句,这个命令适用于me-rm{path}/*[0-9][0-9][0-9][0-9][0-9].txt

  • 有较短的路吗?因为根据需要,我们可以将此扩展到 删除所有以10位数字结尾的.txt文件

  • find /path/to/search -type f -regextype posix-extended -regex '^.*/[0-9]{10}\.txt' -exec rm -f {} \;
    

    --我们需要删除名称为abc12345、ac12456、abcd98653等的文件。

    此cmd查找文件名模式为[任意位数]的文件和rm的文件。linux中的txt:

    find /path/to/search -type f -regextype posix-extended -regex '^.*/[0-9]+\.txt' -exec rm -f {} \;
    
    这一个rm的文件正好是10位数字

    find /path/to/search -type f -regextype posix-extended -regex '^.*/[0-9]{10}\.txt' -exec rm -f {} \;
    

    首先在不使用“-exec rm-f{}\;”位的情况下尝试,看看它是否与要删除的正确文件相匹配

    fyi这可能已删除了以5位或更多位结尾的文件。我刚刚检查过,我提到的上述解决方案在Mac bash shell中工作(删除末尾正好有5位的文件)。事实上,我已经在VM中安装了ubuntu,所以我也会检查一下。它不完全匹配十位数字,它匹配任何数字。也不是
    -exec rm-f{}
    你可以直接使用
    -delete
    @Jasper Hi我对linux命令有点生疏,你能详细解释一下你的答案吗..我发布的shell命令使用find(a)搜索与regexp模式匹配的文件,以及(b)rm的所有找到的文件。大括号之间的数字指定文件名应包含多少位数。通过学习这个网站了解更多关于正则表达式的信息:这是一个关于这个主题的优秀资源。