如何找到在包括子目录目录中的所有零字节文件(How to find all zero-byte fi

2019-08-18 05:24发布

我怎样才能找到一个目录,即使在子目录下的所有零字节文件?

我已经做到了这一点:

#!/bin/bash
lns=`vdir -R *.* $dir| awk '{print $8"\t"$5}'`
temp=""
for file in $lns
do
  if test $file = "0"
  then
    printf $temp"\t"$file"\n"
  fi
 temp=$file
done

但我只得到的结果在该目录下的文件不是所有的文件,如果任何文件名有一个空间,然后我只得到第一个单词,然后标签

谁能帮我?

Answer 1:

要打印及以下尺寸0 $目录中的所有文件的名称:

find "$dir" -size 0

请注意,并非所有的实现find默认会产生输出,所以你可能需要做的:

find "$dir" -size 0 -print


Answer 2:

作为除上述问题的答案:

如果你想删除这些文件

find $dir -size 0 -type f -delete


Answer 3:

不,你不必费心的grep。

find $dir -size 0 ! -name "*.xml"


Answer 4:

击4+测试 - 这是搜索大小为0的正确方法:

find /path/to/dir -size 0 -type f -name "*.xml"

搜索大小为0的多个文件扩展名:

find /path/to/dir -size 0 -type f \( -iname \*.css -o -iname \*.js \)

注意:如果您删除\(... \)的结果将是所有符合这一要求,因此忽略了大小为0的文件。



文章来源: How to find all zero-byte files in a directory including subdirectories
标签: linux shell