я пытаюсь найти файл XML и заменить определенный характер, так что я все 1.5.1-SNAPSHOT заменяются 5.0.0, используя сценарий оболочкиShell скрипт найти и заменить
<modelVersion>4.0.0</modelVersion>
<groupId>com.verio.oss.common</groupId>
<artifactId>oss-common-parent</artifactId>
<name>oss-common-parent</name>
<version>1.5.1-SNAPSHOT</version>
<description>MarketPlace SuperPOM</description>
<modules>
<ui-server-svcs-version>1.5.1-SNAPSHOT</ui-server-svcs-version>
<ui-client-svcs-version>1.5.1-SNAPSHOT</ui-client-svcs-version>
<ui-widgets-version>1.5.1-SNAPSHOT</ui-widgets-version>
<ossb-billing-version>1.5.1-SNAPSHOT</ossb-billing-version>
<ossb-integration-version>1.5.1-SNAPSHOT</ossb-integration-version>
<oss-ems-config-version>1.5.1-SNAPSHOT</oss-ems-conf>
<properties>
<skipTests>true</skipTests>
<app-version>${project.parent.version}</app-version>
<app-build-date>09/27/2011</app-build-date>
<app-build-number>1</app-build-number>
<app-build-revision>101</app-build-rev>
я попытался это скрипт, но он не работал, любая помощь действительно поможет
#!/bin/bash
search="(1\.5.\1-\SNAPSHOT\)"
rep="(\5.\0.\0)"
sed -i.bak 's/${search}/${rep}/g' nameoffile.xml
fi
Кроме того, parens вокруг поискового regexp не повредят (но они тоже не помогут), но вокруг строки замены они появятся как есть. Вам также не нужно скрывать '.' В заменяющей строке. –
может кто-нибудь показать мне, как будет выглядеть полный сценарий, потому что я делаю изменения, но я все еще получаю ошибку – andrefella
whee! это правда. Я избавился от спасения. Спасибо за подсказку. – mikyra