svn 후크 스크립트에 필요한 egrep 부분

svn 후크 스크립트에 필요한 egrep 부분

태그 명명 규칙을 적용하기 위해 쉘 스크립팅을 사용하여 커밋 전 후크 스크립트를 작성 하려고 합니다 < application>_ < project >_ < version>_ < iteration>. 누구든지 찾아보고 만들 수 있는 문서/링크를 안내해 줄 수 있습니까? 많은 링크를 살펴봤지만 작동하지 않습니다.

나는 이런 것을 시도하고 있습니다.

ERROR=$SVNLOOK changed $REPO -t $REV |$EGREP "^A.+?/([a-z0-9_]+)/tags/\1-[0-9]+.[0-9]+.[0-9]+(.[0-9]+)?-(dev|rc[0-9]+|final)/.*$" |$WC -l


#!/bin/sh

REPO="$1"
REV="$2"
ERROR=0
SVNLOOK=/usr/bin/svnlook

AWK=/bin/awk
GREP=/bin/grep
EGREP=/bin/egrep
WC=/usr/bin/wc


ERROR=`$SVNLOOK changed $REPO -t $REV |$EGREP -i "^A.+/tags/.+$" |$WC -l`
if [ $ERROR -ne 0 ]
then

  ERROR=`$SVNLOOK changed $REPO -t $REV |$EGREP "^A.+?/([a-z0-9_]+)/tags/\1-[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?-(dev|rc[0-9]+|final)/.*$" |$WC -l`
  if [ $ERROR -eq 0 ]
  then
    echo "Tag isn't in the correct format" 1>&2
    exit 1
  fi

:FV_SSE-MAY-14_2.1.0_03

여기서: 애플리케이션 = FV 프로젝트 = SSE-MAY-14 버전 = 2.1.0 반복 = 03

답변1

아마도 이것이 도움이 될 것입니다:

echo FV_SSE-MAY-14_2.1.0_03 | 
  LC_ALL=C egrep "^[A-Z]+_[A-Z]+-[A-Z]+-[0-9]?[0-9]_[0-9]+\.[0-9]+\.[0-9]+_[0-9]+$"

관련 정보