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

问题描述 投票:1回答:2

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

linux file find xargs rm
2个回答
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
投票

你可以使用rm

rm .* *

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

© www.soinside.com 2019 - 2024. All rights reserved.