패턴과 패턴 비교


페이지 143페니지 내용 입니다.

배시쉘 스크립트를 분석하다보면 많이 보는 것 중 하나가 패턴비교 입니다.


${ variable#pattern} pattern과 variable의 값 시작 부분과 일치하는 부분이 있으면 이 중 가장 짧은 부분을 삭제하고 나머지 부분을 돌려줌

${ variable##pattern} pattern과 variable의 값 시작 부분과 일치하는 부분이 있으면 이 중 가장 긴 부분을 삭제하고 나머지 부분을 돌려줌

${ variable%pattern} pattern과 variable의 값 끝 부분과 일치하는 부분이 있으면 이 중 가장 짧은 부분을 삭제하고 나머지 부분을 돌려줌

${ variable%%pattern} pattern과 variable의 값 끝 부분과 일치하는 부분이 있으면 이 중 가장 긴 부분을 삭제하고 나머지 부분을 돌려줌


ex)

path 변수의 값은 /home/cam/book/long.file.name 입니다.

${path##/*/} -> long.file.name
${path#/*/} -> cam/book/long.file.name
$path -> /home/cam/book/long.file.name
${path%.*} -> /home/cam/book/long.file
${path%%.*} -> /home/cam/book/long


끝-