2014-10-24 2 views
2

ksh 스크립트의 정규식을 사용하여 문자열의 일부분을 어떻게 일치시킬 수 있습니까?KornShell 정규식

나는 이런 일이 될 수 내 스크립트에 오는 문자열이 : 나는 콘 셸에서 정규 표현식을 수행하는 방법에 대한 약간 검색 한 /data/inform/far_proj/scripts/../SrcFiles/load_alfa_data.dat

을하지만 성공하지 않았습니다. 내가 가지고있는 것은 이것이다 : 나는 문자열이

if [[ $FILENAME = @("load_alfa_data") ]]; then 
    ... 
fi 

load_alfa_dataksh에서

답변

1

당신이 case을 할 수있는 당신의 도움을 주셔서 감사 포함되어 있는지 찾고 있어요 :

case "$FILENAME" in 
    *load_alfa_data*) echo "found load_alfa_data" ;; 
    *)    echo "nope" ;; 
esac 
0

== 연산자 기본 제공 [[ 명령은 패턴 일치 연산자입니다.

if [[ $FILENAME == *load_alfa_data* ]]; then ... 

패턴 @("load_alfa_data")에는 와일드 카드가 포함되어 있지 않으므로 기본적으로 정확한 문자열 일치를 수행하고 있습니다.

ALL_CAPS_VARS를 사용하는 습관을 벗어나십시오 : 언젠가 PATH=/tmp/foo을 작성하고 스크립트가 왜 고장 났는지 궁금 할 것입니다.

관련 문제