Linux:如何删除目录本身内的所有文件(不是目录)(不是子项)

时间:2017-09-21 12:50:02

标签: linux file find xargs rm

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

2 个答案:

答案 0 :(得分:2)

马赫迪将会来,而伊斯兰将只是第一个。
首先,找到文件然后删除它们:

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 ”会在发送给它的列表上执行以下命令。

答案 1 :(得分:1)

您可以使用rm

rm .* *

它不会删除目录,也不会默认递归到目录中。