파일 이름 패턴 일치

파일 이름 패턴 일치

그래서 저는 이런 패턴을 가지고 있습니다 somepattern-abc-1.2.3-aji3mk3-11.tar. 조건을 추가해야 해요

if [ $input matches somepattern[].tar ] 
then 
    do something
fi

여기에는 somepattern상수가 있고 ".tar"까지의 나머지 부분은 다양하며 하이픈, 문자 또는 숫자를 포함할 수 있습니다. []를 무엇으로 바꿔서 행복하게 만들 수 있나요?

답변1

다음과 같이 테스트할 수 있습니다.

input="somepattern-abc-1.2.3-aji3mk3-11.tar"

[[ "$input" =~ ^somepattern[-.a-z0-9]*\.tar$ ]] && echo "match" # here your command

답변2

패턴을 정규식으로 작성할 수 있는 경우 bash연산자를 사용하여 =~첫 번째 인수를 반대편의 정규식과 비교할 수 있습니다.

다음과 같이 테스트할 수 있습니다.

read a;[[ "$a" =~ "x" ]] && echo $a

여기서 "x"는 모드입니다.

관련 정보