0

tar.gz アーカイブに server.log."date" および data.log."date" というタイプのファイルがいくつかあります。date はファイルの作成日です。

ここで、server.log.* というタイプのファイルを取得し、その中で文字列パターンを検索する必要があります。

現在、以下のスクリプトを使用しています。

tar -ztf file.tar.gz | while read FILENAME
do
        if tar -zxf file.tar.gz "$FILENAME" -O | grep "string"
        then
            echo "$FILENAME contains string"
        fi
done

問題は、上記の「if」条件を使用すると、server.log.* ファイルと data.log.* ファイルの両方で文字列パターンが一致することです。

「if」ステートメントでは、各ファイル名がパターン server.log.* と比較され、grep が server.log.* ファイルのみで実行されるような条件を追加する必要があります。

どんな助けでも大歓迎です。前もって感謝します

4

1 に答える 1