디렉토리에서 로그를 찾는 스크립트

디렉토리에서 로그를 찾는 스크립트

내 루프가 있습니다

for i in 1.34*
do
if [ -f $i/rela/*log ] ; then
echo $i >> /tmp/allog
else
echo $i >> /tmp/alnolog
fi
done  

잘 작동합니다. 오름차순으로 나열된 다양한 버전의 배포판이 있습니다. 일반적으로 디렉터리에 대한 로그 없이 모든 버전을 포함하는 다른 파일을 만들어야 합니다. 문제는 이 파일을 생성하고 여러 버전을 삽입해야 할 때입니다.

스크립트를 생성하고 실행해야 하는 첫 번째 버전과 마지막 버전을 요청하고 싶습니다(이 버전의 일반 형식은 1.34.0.04입니다).

답변1

간단한 쉘 모드에서 벗어날 수도 있습니다. 예를 들어

  • for i in 1.3[4-9]* 1.4[0-3]*개정판 1.34 to1.43` 과 일치
  • for i in 1.34.0.0[4-9]* 1.34.0.[1-9]* 1.34.[1-2].0[1-5]*일치 1.34.0.04개정1.34.2.05

답변2

이 스크립트를 만들려고 합니다.

echo "Enter The Release Which You Have to start with : \c"
read START

echo "Enter The Release Which You Have to finish with : \c"
read END

cd ${RELDIR}
for i in $(eval echo "{$START..$END}")
do
if [ -f $i/rela/*log ] ; then
echo $i >> /tmp/allog
else
echo $i >> /tmp/alnolog
fi
done

하지만 내가 입력한 두 변수만 제거하기 때문에 작동하지 않습니다.

관련 정보