首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Linux删除大小为0的文件

Linux删除大小为0的文件
EN

Stack Overflow用户
提问于 2011-03-30 00:39:21
回答 6查看 203.6K关注 0票数 203

如果linux中某个文件的大小为0,如何删除该文件?我想在没有任何额外脚本的情况下在crontab中执行此命令。

代码语言:javascript
复制
l filename.file | grep 5th-tab | not eq 0 | rm

像这样的东西?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-30 00:41:24

这将删除目录(及以下目录)中大小为零的所有文件。

代码语言:javascript
复制
find /tmp -size  0 -print -delete

如果你只想要一个特定的文件;

代码语言:javascript
复制
if [ ! -s /tmp/foo ] ; then
  rm /tmp/foo
fi
票数 293
EN

Stack Overflow用户

发布于 2016-02-28 21:03:47

您可以使用命令find来执行此操作。我们可以使用-type f匹配文件,也可以使用-size 0匹配空文件。然后我们可以使用-delete删除匹配项。

代码语言:javascript
复制
find . -type f -size 0 -delete
票数 17
EN

Stack Overflow用户

发布于 2011-05-13 17:35:22

在Linux上,当您不需要find(1)时,stat(1)命令很有用:

代码语言:javascript
复制
(( $(stat -c %s "$filename") )) || rm "$filename"

这里的-c %s命令允许我们只获取文件大小,即stat (有关其他格式,请参阅手册页)。我正在运行stat程序并捕获它的输出,这就是$( )。这个输出是用数字表示的,这是外部的(( ))。如果大小为零,则为FALSE,因此将执行OR的第二部分。非零(非空文件)将为TRUE,因此不会执行rm。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5475905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档