2017-05-12 9 views
0

비어 있지 않은 모든 gzip 파일을 디렉토리에서 찾는 방법을 필자는 필사적으로 찾고 있습니다. 목표는 ssh를 통해 날짜에서 모든 로그를 검색하고 로컬 디렉토리에 rsync하는 것입니다 ,하지만 난 날짜에 ​​따라 10k 파일을 얻을 수 있으며, 그들 중 많은 rsync하기 전에 그들을 정렬하고 싶습니다 비어 있습니다. 그들이 GZIP을를 werent하면 내가 사용할 수있는,모든 gz 파일을 찾지 못했습니다

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

하지만 난 그들이 빈 하나를 제거 정렬 싶습니다 :

! -size 0 

에 대한

나는 내가이 같은 모든 GZ 파일을 찾을 수있어 이제는 모든 파일을 폴더에 넣고 rsync하고 다음과 같이 정렬합니다.

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

첫번째 명령에 대한 마지막 명령?

목표는 ssh를 통해 데이터가 포함 된 모든 gz 파일의 목록을 얻는 것입니다.

답변

0

gzip 파일에 파일 이름과 같은 추가 헤더 정보가없는 경우 모든 빈 gzip 파일의 길이는 20 바이트 여야합니다.