ディレクトリに拡張子に基づくファイルセットが含まれているかどうかをテストします。

ディレクトリに拡張子に基づくファイルセットが含まれているかどうかをテストします。

ディレクトリに一般的にWebサイトで使用されるファイルが含まれていることを確認するにはどうすればよいですか?私は一度に1つの拡張機能をテストする方法を見つけて見つけました。

c1=`ls -1 /var/www/*.htm 2>/dev/null | wc -l`
c2=`ls -1 /var/www/*.html 2>/dev/null | wc -l`
c3=`ls -1 /var/www/*.php 2>/dev/null | wc -l`
if [ $c1 != 0 ] || [ $c2 != 0 ] || [ $c3 != 0 ]; then    
    echo true
fi 

ただし、Webサイトで利用可能なファイル形式が非常に多様であるため、これは特に効果的ではないと思います。case私が使用できるステートメントはありますか?

答え1

完全にあなたの例に基づいてコードを少し単純化することができます。

found=$(find . -maxdepth 1 -type f \( -name '*.htm -o -name '*.html' -o -name '*.php' \) | wc -l)
if [[ $found -gt 0 ]]
then
    echo Possibly a website
fi

または

found=$(ls -d *.htm *.html *.php 2>/dev/null)
if [[ -n "$found" ]]
then
    echo Possibly a website
fi

でも

echo Possibly a website

関連情報