파일에 공백이 포함된 Grep 라인

파일에 공백이 포함된 Grep 라인

기록이 포함된 파일이 있습니다.

qwe.google.com IN A 1.1.1.1
qwe.google.com   IN {uneven-space} A{space}1.1.1.1
qwe.google.com  IN     CNAME      asd.google.com

포함된 모든 줄을 파악해야 하는데 IN A줄 사이에 고르지 않은 공백이 포함되어 있기 때문에 그렇게 할 수 없습니다.

답변1

당신은 그것을 사용할 수 있습니다

grep -E "IN[[:blank:]]+A" file
  • [[:blank:]]다음과 유사하게 공백 및 탭과 일치합니다.[ \t]

답변2

당신은 그것을 사용할 수 있습니다

grep -E "IN +A" file

일치합니다 (를 통해확장 정규식IN) 및 그 사이에 하나 이상의 공백이 있습니다 A.

IN와 사이에 다른 형태의 공백(예: 탭)이 있을 수 있는 경우 A다음을 사용할 수 있습니다.캐릭터 목록 또는 캐릭터 클래스단순한 공간이 아닌,이 답변예를 들어.

답변3

awk '$2 == "IN" && $3 == "A"'

아마도 원하는 것에 더 가까울 것입니다(해당 출력에서 ​​인터넷 A 레코드를 찾으십시오).

그리고 grep:

grep -E '[[:blank:]]IN[[:blank:]]+A[[:blank:]]'

그냥 것보다 낫겠지

grep -E 'IN[[:blank:]]+A'

다음과 같은 줄과 일치할 수 있습니다.

example.com IN TXT "v=spf1에는 다음이 포함됩니다.안에둘"

예를 들어.

그럼에도 불구하고 두 grep명령은 모두 일치합니다.

example.com IN TXT "헛소리안에이런"

관련 정보