ファイル名のFAILパターンによって決まる外部スクリプトで使用するために現在のディレクトリから失敗したログのリストを取得したいので、FAIL *を使用してスクリプトファイルと開く手順を提供しました。ただし、すべてのFAILファイルには、圧縮ファイルと圧縮されていないファイルの2種類があります。圧縮されていないファイルだけを開きたいです。
find FAIL*を接続できますが、*.gz/bz2/whateverが存在する場合は接続できませんか?
答え1
次の拡張子を使用して正規表現があるかどうかをテストできます。
for file in *FAIL*; do [[ ! $file =~ .(bz2|gz) ]] && printf "%s\n" "$file"; done
必須警告の挿入解析されないls
...
答え2
コマンドを使用する場合は、次のようにfind
拡張子で終わるファイルを省略できます.gz
。
$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Oct 15 22:42 FAIL
-rw-rw-r--. 1 saml saml 0 Oct 15 22:42 FAIL.gz
$ find . -name "*FAIL*" ! -name "*.gz"
./FAIL
ls
次のように出力をフィルタリングすることもできます。
$ ls *FAIL* | grep -v '.gz'
FAIL
ls
ただし、通常、出力の構造は出力を解析するのに役立ちませんので、出力を解析しないことをお勧めします。