그래서 저는 이런 패턴을 가지고 있습니다 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"는 모드입니다.