Я пытаюсь автоматизировать развертывание военных файлов, сгенерированных нашим сервером сборки с использованием maven. Мне нужно иметь возможность извлечь имя проекта из имени файла войны, чтобы я мог переименовать файл перед его развертыванием. (Поскольку tomcat использует имя файла в качестве пути к контексту по умолчанию, и я не хочу, чтобы версия была там)
Имена файлов обычно находятся в форме 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)?