sed 대체 중에 조건부 패턴이 포함된 와일드카드를 사용하는 방법은 무엇입니까?

sed 대체 중에 조건부 패턴이 포함된 와일드카드를 사용하는 방법은 무엇입니까?

다음 명령이 유효합니다.

sed -i "/BC_CD23.BC_B.BC_A1.N1_C/s/CELL4WL_4BL_3/CELL4WL_4BL_1/g" s1*M8*
sed -i "/BC_CD23.BC_B.BC_A1.N0_C/s/CELL4WL_4BL_3/CELL4WL_4BL_1/g" s1*M8*

이 명령은 효과가 없습니다.

sed -i "/BC_CD23.BC_B.BC_A1.N*_C/s/CELL4WL_4BL_3/CELL4WL_4BL_1/g" s1*M8*

패턴에 와일드카드 문자를 사용하는 방법은 무엇입니까?

답변1

패턴에 와일드카드를 사용하는 방법

귀하의 특정한 경우에는 N*다음을 의미합니다." N문자가 0번 이상 일치합니다".
패턴이 단일 N문자와 하나 이상의 숫자를 의미하는 경우 패턴의 해당 부분은 이어야 합니다 N[0-9]\{1,\}.
또한 .(마침표) 문자는 개행 문자를 포함한 모든 문자와 일치합니다(단, 여기서는 개행 문자가 입력에 표시되지 않습니다). 문자 그대로 일치하려면 \.
이스케이프되어야 합니다.기본패턴은 다음과 같습니다/BC_CD23\.BC_B\.BC_A1\.N[0-9]\{1,\}_C/

https://www.gnu.org/software/sed/manual/sed.html#Overview-of-basic-regular-expression-syntax

관련 정보