【问题标题】:Linux: How to delete all of the files (not directories) inside a directory itself (not childs)Linux:如何删除目录本身(不是子目录)中的所有文件(不是目录)
【发布时间】:2018-03-02 20:02:09
【问题描述】:

目录中有一些名称不常用的文件(例如 unicode 格式)。 如何删除它们?

【问题讨论】:

    标签: linux file find xargs rm


    【解决方案1】:


    首先,找到文件,然后删除它们:

    find [dir_path] -maxdepth 1 -type f  | xargs rm -rf
    

    上述方法很简单,并且在任何文件名中有空格时都不起作用。因此,我还编写了一个复杂而完整的命令来处理空格:

    find ./ -maxdepth 1 -type f  | awk -F '/' '{printf "'\''%s'\''\n",$2}' | xargs rm -rf
    

    "-maxdepth 1" 表示仅来自目录而不是子目录。另一种方式,不是递归查找。如您所知,“xargs”在发送给它的列表上执行以下命令。

    【讨论】:

    • 这对我帮助很大,是的,它不适用于带有空格的文件名。仍然感谢它为我节省了很多时间。
    【解决方案2】:

    你可以使用rm:

    rm .* *
    

    它不会删除目录,默认情况下不会递归到它们中。

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 2012-03-05
      • 2011-12-04
      • 2013-07-10
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      相关资源
      最近更新 更多