정규 표현식을 사용하여 많은 파일 이름과 비슷한 이름을 찾습니다. 아래 파일을 참조하십시오.문자열의 일부를 bash에서 정규 표현식과 일치시키는 방법은 무엇입니까?
file1="CGInoimport"
file2="doCGIimport"
file3="donoCGInoimport"
file4="importCGIno"
나는 정규 표현식이 일치하는지 확인하기 위해 각 파일 변수를 통해 반복하는 for
루프를 사용하고 있습니다. 단어 CGI
을 포함하는 파일 이름을 분리하려고합니다. 여기까지 내가 지금까지 가지고있는 것이있다.
for ((i=1; i < 5; i++)) ; do
if [[ file$i =~ ^CGI$ ]] ; then
echo "There is a CGI in the name"
else
echo "This shouldn't happen"
fi
done
문제는 내가 This shouldn't happen
를 얻고, 각 file
입니다. 정규 표현식에 문제가 있다는 것을 알고 있지만 어떻게 수정해야할지 모르겠다. 어떤 제안?
추가 설명이 필요한 경우 알려 주시기 바랍니다.
감사합니다 많이! +1 – Alias
@Alias, ... 배열의 사용법, 연관성 또는 기타 사항을 설명하는 추가 사항을 확인하십시오. 일반적으로 배열은 간접 지정을 사용하는 모든 경우를 대신하는 더 나은 대체 방법입니다. –
왜 간접 참조를 위해 연관 배열을 사용하는 것이 더 나은지 알고 있습니까? – Alias