maven을 사용하여 빌드 서버에서 생성 된 war 파일 배포를 자동화하려고합니다. war 파일 이름에서 프로젝트 이름을 추출 할 수 있어야 파일을 배포하기 전에 파일 이름을 바꿀 수 있습니다. (톰캣은 파일 이름을 기본 컨텍스트 경로로 사용하고 버전이 거기에 있기를 원하지 않기 때문에)
파일 이름은 일반적으로 형식 projectname-version
입니다. 예 :
myproject-1.2.3-SNAPSHOT.war
my-better-project-1.2.3-RELEASE.war
my-fancy-project-1.2.3.war
- SNAPSHOT 또는 RELEASE 는 파일 이름에 포함되거나 포함되지 않을 수 있습니다.
- 까다로운 부분 중 하나는 프로젝트 이름에 대시가 포함 된 경우 프로젝트 이름을 추출하는 것입니다.
결과는 버전 정보가없는 프로젝트 이름이어야합니다.
myproject
my-better-project
my-fancy-project
bash 및 sed (또는 bash 만)를 사용하여 어떻게 이것을 달성 할 수 있습니까?
echo $1 | sed 's/-[0-9]\+.*//'