2017-05-01 3 views
0

아직 압축되지 않은 로그 파일이 있습니다 (gzip) 이 파일은 작동하지만 파일이 .gz로 끝나는 지 확인합니다.유닉스 - 부정 (문이있는 경우)

#!/bin/bash 

LOG_FILES=(
    "/Sandbox/logs/*" 
) 


for file in ${LOG_FILES[@]}; do 
    if [[ $file =~ \.gz$ ]]; then 
     echo $file 
    fi 
done 

.gz로 끝나지 않는 파일을 어떻게 표시합니까?

나는
![ $file =~ \.gz$ ] 
!($file =~ \.gz$) 

을 시도하지만 난 구문 오류가 발생합니다. 어떤 제안?

답변

0

공백이 중요합니다. 공간으로, 당신은 선택할 수 있습니다 : 당신도 할 수

for file in ${LOG_FILES[@]}; do 
    if [[ ! $file =~ \.gz$ ]]; then 
    echo $file 
    fi 
done 


for file in ${LOG_FILES[@]}; do 
    if ! [[ $file =~ \.gz$ ]]; then 
    echo $file 
    fi 
done 
0

if [[ "$file" != *.gz ]]; then 
     echo "$file is not gz" 
fi