找到所有gz文件不为空

时间:2017-05-12 10:57:49

标签: find gzip rsync

我正在拼命搜索如何在目录中找到所有非空的gzip文件,目标是从日期通过ssh检索所有日志并将它们rsync到本地目录,但我可以根据日期得到10k文件,其中很多都是空的,所以我想在制作rsync之前对它们进行排序。

我知道我可以找到所有这样的gz文件:

ssh toto "find /logexport/proxies*/logs/ -type f -name '*20170511*.gz'" > test.txt

但是我想对它们进行排序除去空的,如果它们不是我可以使用的gzip:

! -size 0

现在我将所有文件同步到一个文件夹中然后我按照这样排序:

for f in ${FOLDER}/*; do
    if [[ $(gunzip -c $f | head -c1 | wc -c) == "0" ]]; then
              rm -f $f
    fi
done

你知道如何将最后一个命令合并到第一个命令中吗?

目标是通过ssh获取包含数据的所有gz文件的列表。

1 个答案:

答案 0 :(得分:0)

如果gzip文件没有其他标头信息,例如文件名,那么所有空的gzip文件应该是20个字节长。