awk 문법 깊이

2184 단어 awk
awk 문법 깊이
awk 명령 을 상세히 설명 하기 전에 awk 가 자신의 임 무 를 어떻게 수행 하 는 지 알 아 보 겠 습 니 다.names(세 줄 만 기록)라 는 파일 을 예 로 들 어 설명 하 겠 습 니 다.
      Savage  100
      Lee     200
      Doe     300

아래 awk 명령 을 사용 합 니 다:awk 필드 를 인쇄 할 때 아래 방식 으로 print 함 수 를 사용 합 니 다.
$ awk '{print $1,$3}' names

1.awk 는 한 줄 을 입력(파일 이나 파 이 프 를 통 해)으로 사용 하고 이 줄 을 내부 변수$0 에 부여 합 니 다.기본 값 으로 줄 마다 기록 이 라 고 할 수 있 습 니 다.줄 바 꿈 문자 로 끝 납 니 다.
      100
      200
      300

awk 명령 은 모드,조작,또는 모드 와 작업 의 조합 으로 구성 된다.
패턴 은 특정한 유형의 표현 식 으로 구 성 된 문구 입 니 다.어떤 표현 식 에 키워드 if 가 나타 나 지 않 았 지만 실제 계산 할 때 if 라 는 단 어 를 포함 하고 있다 면 이 표현 식 은 패턴 입 니 다.
작업 은 큰 괄호 안에 묶 인 한 줄 또는 여러 개의 문장 으로 구성 되 어 있 으 며,문장 사 이 는 분점 이나 줄 바 꿈 문자 로 분리 되 어 있 으 며,패턴 은 큰 괄호 에 포함 되 어 있 지 않 으 며,패턴 은 두 개의 정 슬 래 쉬 사이 에 묶 인 정규 표현 식,하나 또는 여러 개의 awk 연산 자 로 구 성 된 표현 식 으로 구성 되 어 있다.
1 파일 에서 입력
awk 의 형식 은 다음 과 같 습 니 다($는 Linux 명령 의 프롬프트 입 니 다).
$ awk 'pattern' filename
$ awk '{action}' fi1ename
$ awk 'pattern {action}' fi1ename

다음은 employees 라 는 파일 을 보 여 줍 니 다.
$ cat employees
Tom    Jones   4424  5/12/66 543354
Mary   Adams   5346  11/4/63 28765
Sally  Chang   1654  7/22/54 650000
Billy  B1ack   1683  9/23/44 336500

awk 는 모드 Mary 를 포함 하 는 모든 줄 을 인쇄 합 니 다.
$ awk '/Mary/' employees
Mary Adams 5346 11/4/63 28765

awk 는 파일 employees 의 첫 번 째 필드 를 인쇄 합 니 다.필드 는 줄 의 왼쪽 끝 에서 시작 하여 공백 문자 로 구 분 됩 니 다.
$ awk '{print $1}' employees
Tom
Mary
Sally
Billy

awk 는 파일 employees 의 첫 번 째 필드 를 인쇄 합 니 다.필드 는 줄 의 왼쪽 끝 에서 시작 하여 공백 문자 로 구 분 됩 니 다.
$ awk '/Sally/{print $1,$2}' employees
Sally Chang

2 명령 으로 입력
하나 이상 의 Linux 명령 의 출력 을 파 이 프 를 통 해 awk 에 보 낼 수 있 습 니 다.형식 은 다음 과 같 습 니 다.
$ command | awk 'pattern'
$ command | awk '{action}'
$ command | awk 'pattern {action}'

범례:파일 employees 의 한 줄 에 패턴 샐 리 가 있 을 때 awk 는 이 줄 의 첫 번 째 필드 를 인쇄 합 니 다.
$ cat employees | awk '/Sally/{print $1}'
Sally Chang

좋은 웹페이지 즐겨찾기