디렉터리에 확장명을 기반으로 한 파일 집합이 포함되어 있는지 테스트합니다.

디렉터리에 확장명을 기반으로 한 파일 집합이 포함되어 있는지 테스트합니다.

디렉토리에 일반적으로 웹 사이트에 사용되는 파일이 포함되어 있는지 확인하려면 어떻게 해야 합니까? 나는 한 번에 하나의 확장 프로그램을 테스트하는 방법을 검색하고 찾았고, 그 결과 다음과 같은 작업을 수행하게 되었습니다.

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 

그러나 웹사이트에 사용할 수 있는 파일 형식이 매우 다양하기 때문에 이것이 특별히 효과적이라고 생각되지는 않습니다. 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

관련 정보