sma*_*ket 56 linux file find xargs delete-file
我有一个包含许多0字节文件的目录.我使用ls命令时甚至看不到文件.我正在使用一个小脚本删除这些文件,但有时甚至不删除这些文件.这是脚本:
i=100
while [ $i -le 999 ];do
rm -f file${i}*;
let i++;
done
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以更快地完成这项工作?
Did*_*set 119
使用find结合xargs.
find . -name 'file*' -size 0 -print0 | xargs -0 rm
Run Code Online (Sandbox Code Playgroud)
你可以避免rm为每个文件启动.
cor*_*ump 77
使用GNU find(参见注释),不需要使用xargs:
find -name 'file*' -size 0 -delete
Run Code Online (Sandbox Code Playgroud)
小智 9
如果要查找并删除文件夹中的所有 0 字节文件:
find /path/to/folder -size 0 -delete
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令:
找 .-maxdepth 1 -size 0c -exec rm {} \;
如果要删除子目录中的0字节文件,请-maxdepth 1在上一个命令中省略并执行.
小智 6
find . -maxdepth 1 -type f -size 0 -delete
Run Code Online (Sandbox Code Playgroud)
这将在当前目录中查找大小为 0 的文件,而不进入子目录,并删除它们。
要列出文件而不删除它们:
find . -maxdepth 1 -type f -size 0
Run Code Online (Sandbox Code Playgroud)