특정 확장자를 가진 파일을 찾는 스크립트를 작성하고 싶습니다.
#!/bin/bash
file="/home/Savio/Dsktop/check/*.csv"
file1="/home/Savio/check/*.txt"
if [[ -f "$file" && -f "$file1" ]];
then
echo " found."
else
echo "not found."
fi
어디 check
폴더에 하위 폴더가 포함되어 있습니다. 잘못된 점이 있으면 수정 해주세요
재귀를 원하지 않으면 할 수 있습니다.
export DIR=/home/Savio/Dsktop/check
if ls ${DIR}/*.txt &>/dev/null && ls ${DIR}/*.csv &>/dev/null
then
echo "Found."
else
echo "Not found."
fi
또는 perl
:
perl -e '
$DIR="/home/Savio/Dsktop/check";
@a= glob "${DIR}/*.txt";
@b= glob "${DIR}/*.csv";
print @a && @b ? "Found.\n" : "Not found.\n"
'
당신이 경우 어떻게 찾는 재귀를, 다른 답변에서 제안 된 솔루션은 작동합니다. find
첫 번째 일치가 발견 된 후 중지하여 더 빠르게 진행할 수 있습니다 .
export DIR=/home/Savio/Dsktop/check
CSV=$(find "$DIR" -name *.csv|head -n1)
TXT=$(find "$DIR" -name *.txt|head -n1)
[ ! -z "$CSV" ] && [ ! -z "$TXT" ] && echo Found || echo Not found
참고 문헌
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다