正規表現:文字列を含めません。

正規表現:文字列を含めません。

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

関連情報