
2つの文字列があります。
文字列 1:platform1-05_02_00.001:platform
文字列 2:platform1-domino-05_02_00.001:platform
最初のバージョンでは、バージョン(05_02_00.001
)が変更されます。まず正規表現を試しました。
sed -i 's/platform1-.*:platform/platform1-06:hybrisb/g' file
ところで、2つの文字列が変わりました。そのため、sedに「ドミノ」ではなく文字列(ドミノを含まない)を見つけるように指示する正規表現を探しています。
答え1
1つの方法は次のとおりです。
sed '/domino/! s/platform1-.*:platform/platform1-06:hybrisb/g' file
/domino/!
一致しない行を選択してくださいdomino
。
答え2
「platform-domino」を含む行をスキップするには、次のコマンドを使用することをお勧めしますn
。
sed '/platform1-domino/ n; s/platform1-.*:platform/platform1-06:hybrisb/g' file
または、検索して置換し、一致する可能性のある文字を削除します。
sed 's/platform1-[^d][^o][^m][^i][^n][^o].*:platform/platform1-06:hybrisb/g' file