강좌 & 팁
글 수 2,412
2015.06.26 15:11:36 (*.134.169.166)
49772
패턴과 패턴 비교
페이지 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
끝-