2015-02-04 7 views
1

나는 MAC 주소 목록 만 얻으려면 linux dhcpd 로그를 가지고 있습니다. MAC 주소는 00 : ab : 27 : d8 : dd : dd와 같이 형식이 지정됩니다.파일에서 정규 표현식을 복사하는 방법은 무엇입니까? 로그 파일에서 모든 MAC 주소를 가져와야합니다.

linux 명령 줄 도구를 사용하여 MAC 주소 용 INPUT 파일을 구문 분석하고 OUTPUT 파일로 전송하십시오. 여기서 OUTPUT 파일은 MAC 주소 목록 일 뿐이므로 중복 MAC 주소는 제거 할 수 있습니다.

나는 이것이 다중 단계의 복잡한 명령이라고 생각합니다. 사이트를 검색 한 결과 정규식 검색 결과를 복사 할 수 없습니다. 나는 파일에서 MAC 주소를 찾을 수있는 reg 표현식을 얻는 혼합 된 결과를 보았습니다. 모든 올바른 일치 항목을 파일로 복사 할 수있었습니다.

답변

1

당신은 고유의 MAC 주소를 추출하기 위해 다음 명령을 사용할 수 있습니다

grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' /var/log/dhcpd.log | uniq > unique_MAC.txt 

설명 :

  • 이 로그에서 MAC 주소 retreive합니다 :

grep -o -E '([[: xdigit :]] {1,2} :) {5} [[: xdigit :]] {

UNIQ

참고 :
grep
uniq

, 2} '는 UNIQ 명령을 모두 제거합니다

  • 는 MAC 주소를 중복
+0

uniq이 제대로 작동하도록 정렬을 추가해야했습니다. grep -o -E '([[: xdigit :]] {1,2} :) {5} [[: xdigit :]] {1,2}'dhcp.txt | 정렬 | uniq> unique_MAC.txt MAC에 대한 grep에 감사드립니다. –