두 개의 문자열이 있습니다.
문자열 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
한 가지 방법은 다음과 같습니다.
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