행 사이에 다른 문자가 있는 필드 검색

행 사이에 다른 문자가 있는 필드 검색

텍스트 예:

ERROR IN CONNECTING TO NODE:**NT**SX01,CMS
ERROR IN CONNECTING TO NODE:**USSP**SX01,CMS
ERROR IN CONNECTING TO NODE:**PT**SX01,CMS

동일한 명령으로 이 세 줄을 grep하고 싶습니다.

grep "ERROR IN CONNECTING TO NODE:?SX01,CMS" 

세 줄이 모두 grep되도록 하려면 물음표를 무엇으로 바꿔야 합니까?

답변1

.*및 사이의 문자를 일치시키려면 다음을 사용할 수 있습니다.NODE:SX01,CMS

grep "^ERROR IN CONNECTING TO NODE:.*SX01,CMS$" file

^줄의 시작 과 일치 하고 $줄의 끝과 일치합니다.

**, 및 전후에 텍스트를 포함 하려는 경우 :NTUSSPPT

grep "^ERROR IN CONNECTING TO NODE:\*\*.*\*\*SX01,CMS$" file

**와 사이에 문자를 포함 하려는 경우 **:

grep "^ERROR IN CONNECTING TO NODE:\*\*[A-Z]*\*\*SX01,CMS$" file

좀 더 구체적으로 설명하자면: grep문자열 NT또는 USSP또는 PT:

grep "^ERROR IN CONNECTING TO NODE:\*\*\(NT\|USSP\|PT\)\*\*SX01,CMS$" file

관련 정보