내 파일에 서브넷 목록이 있습니다. 위에서 설명한 대로 공통 옥텟이 있는 서브넷만 추출하면 됩니다.
grep "grep -oP '1.[^"]+'를 시도했지만 여전히 다른 결과를 얻었습니다.
예를 들어 다음과 같은 로그가 있습니다.
1.1.1.0/24
2.74.2.0/24
11.2.1.0/24
1.9.55.0/24
공통 첫 번째 옥텟이 1인 서브넷만 추출하고 싶으므로 결과는 다음과 같습니다.
1.1.1.0/24
1.9.55.0/24
답변1
이것은 당신이 원하는 것을 할 것입니다 :
grep '^1\.' filename
이 ^
기호는 선의 시작을 나타내며 \.
문자 그대로의 점을 나타냅니다.
답변2
점으로 구분된 첫 번째 필드가 1인 각 줄을 인쇄합니다.
awk -F. '$1=="1" {print}' datafile
스크립트의 각 줄 awk
은 condition {action}
이고 기본적으로 일부는 생략할 수 있으므로 1 {print}
다음과 같이 줄을 더 원활하게 작성할 수 있습니다.
awk -F. '$1=="1"' datafile