2017-05-01 74 views
0

我有日誌文件,我希望看到尚未壓縮(gzip) 我有這個,它的工作原理,但它檢查文件是否以.gz結尾。UNIX - 否定(如果語句)

#!/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