쓰다 awk 배열 제거 반복 필드 awk ‘! a[$1]++ ’

은 이 testawk 텍스트 만들다:
  1 2 3
1 2 2
2 2 2
3 4 4
3 4 5
2 2 2
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
1 4 3

 먼저 설명이 다음 awk'! a[]++'이런 형식 모든 부분의 의미.
   1, awk 배열 지식
   2, awk 기본 명령 격식 awk 'pattern{action}'
     생략 action 때 기본 action 그래 {print}. 예 awk'1'바로awk '1{print}'
   3, var++ 형식: 먼저 읽는 var 변수 값 더 대한 var 값 +1
  awk 처리 첫째 줄 때: 먼저 읽는 a[] 값 다시 스스로 증가, a[] 즉 a[1] 값 비어 (0), 즉 위해 awk '!0',
    즉 위해 awk'1'즉 위해 awk'1{print}'
awk처리 둘째 줄 때: 먼저 읽는 a[] 값 다시 스스로 증가, a[] 즉 a[1] 값 을 1, 즉 위해 awk '!1',
    즉 위해 awk'0'즉 위해awk '0{print}'
  
효과가 있다 바로 다시 줄 건 처음이라 받는 인쇄, 다른 필터 했 다.

 실천 아래:
$ awk '!a[$1]++' testawk
1 2 3
2 2 2
3 4 4
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8

 볼 수 첫 도메인 반복 2, 5, 6, 13 피난 수도 의해 필터 떨어졌다.

 만약 꼭 고려 때 참고 있는 한 개 도메인 그럼 수 뿔 모양 괄호 안에 써 꼭 참고 있는 도메인, 예를 들면 awk '!a[$1 $3]++'
 테스트 아래:
 $ awk '!a[$1$ $3]++' testawk
1 2 3
1 2 2
2 2 2
3 4 4
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
볼 수 제 6 · 13 돼 의해 필터 떨어졌다.

글쓴이 시우 작성일 2015-01-21 19:44