셸 리 awk print 의 용법 상세 설명

4340 단어 shellawkprint
우선,당신 은 먼저 awk 의 작업 원 리 를 이해 해 야 합 니 다.
1。AWK 는 입력 파일 을 한 줄 씩 읽 습 니 다.
2。각 줄 에 대해 서 는 주어진 순서 모드 와 일치 하 며,일치 하면 해당 동작 을 수행 합 니 다.
3。패턴 이 일치 하지 않 으 면 어떤 행동 도 수행 합 니 다.
4。위의 문법 은 검색 모드 든 행동 이 든 선택 할 수 있 지만 동시에 할 수 없습니다.
5。검색 모드 를 제시 하지 않 으 면 awk 는 줄 마다 주어진 행동 을 입력 해 야 합 니 다.
6。동작 이 없 으 면 인쇄 합 니 다.기본 동작 과 패턴 이 일치 하 는 모든 줄 입 니 다.7。비 어 있 는 어떤 행동 괄호 도 아무것도 하지 않 는 다.기본 인쇄 작업 을 수행 하지 않 습 니 다.
8。모든 행동 의 성명 은 분점 으로 구분 해 야 한다.employee.txt 파일 을 만 듭 니 다.
우선,당신 은 먼저 awk 의 작업 원 리 를 이해 해 야 합 니 다.
1。AWK 는 입력 파일 을 한 줄 씩 읽 습 니 다.
2。각 줄 에 대해 서 는 주어진 순서 모드 와 일치 하 며,일치 하면 해당 동작 을 수행 합 니 다.
3。패턴 이 일치 하지 않 으 면 어떤 행동 도 수행 합 니 다.
4。위의 문법 은 검색 모드 든 행동 이 든 선택 할 수 있 지만 동시에 할 수 없습니다.
5。검색 모드 를 제시 하지 않 으 면 awk 는 줄 마다 주어진 행동 을 입력 해 야 합 니 다.
6。동작 이 없 으 면 인쇄 합 니 다.기본 동작 과 패턴 이 일치 하 는 모든 줄 입 니 다.
7。비 어 있 는 어떤 행동 괄호 도 아무것도 하지 않 는 다.기본 인쇄 작업 을 수행 하지 않 습 니 다.
8。모든 행동 의 성명 은 분점 으로 구분 해 야 한다.
employee.txt 파일 을 만 듭 니 다.다음 과 같은 내용 이 있 습 니 다.이것 은 사용 할 것 입 니 다.
다음 글 에서 언급 한 예.

$cat employee.txt
100 Thomas Manager Sales  $5,000
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
500 Randy DBA  Technology $6,000
Awk 의 범례 1.awk 의 기본 행동
기본 적 인 상황 에서 awk 인쇄 파일 의 줄 마다.

1234567
$ awk '{print;}' employee.txt
100 Thomas Manager Sales  $5,000
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
500 Randy DBA  Technology $6,000
위의 예 에서 패턴 은 제시 되 지 않 았 다.따라서 모든 줄 에 적용 된다.
action 과 모든 인자 의 인쇄 출력 은 기본적으로 줄 전 체 를 출력 합 니 다.
Awk 의 범례 2.패턴 과 일치 하 는 줄 을 인쇄 합 니 다.
1234$ awk '/Thomas/

> /Nisha/' employee.txt
100 Thomas Manager Sales  $5,000
400 Nisha Manager Marketing $9,500
위의 예 에서'Thomas'나'Nisha'가 인쇄 한 모든 줄 입 니 다.그것 은 두 가지 모델 이 있다.
Awk 의 범례 3.특정 필드 만 인쇄 합 니 다.
awk 에 내 장 된 변수 가 있 습 니 다.모든 기록,즉 줄,공백 문자 구분 기록 은 기본적으로$n 개의 변수 에 저 장 됩 니 다.이 줄 에 4 개의 단어 가 있 으 면$1,2,2,3,$4 에 저 장 됩 니 다.$0 은 줄 을 나타 낸다.NF 는 이 줄 에 몇 개의 분 리 된 영역 이 있 는 지 를 나타 내 는 내 장 된 변수 입 니 다.

12345678910111213$ awk '{print $2,$5;}' employee.txt
Thomas $5,000
Jason $5,500
Sanjay $7,000
Nisha $9,500
Randy $6,000

$ awk '{print $2,$NF;}' employee.txt
Thomas $5,000
Jason $5,500
Sanjay $7,000
Nisha $9,500
Randy $6,000
Awk 범례 4.초기 화 및 최종 작업
Awk 두 가지 중요 한 pattern,키워드 BEGIN and END 로 표 시 됩 니 다.
Syntax:
BEGIN { Actions}
{ACTION} # Action for everyline in a file
END { Actions }
#is for comments in Awk
이것 은 하나의 예 이다.
12345678910111213
$ awk 'BEGIN {print “Name\tDesignation\tDepartment\tSalary”;}

> {print $2,"\t",$3,"\t",$4,"\t",$NF;}
> END{print "Report Generated
--------------"; > }' employee.txt Name Designation Department Salary Thomas Manager Sales $5,000 Jason Developer Technology $5,500 Sanjay Sysadmin Technology $7,000 Nisha Manager Marketing $9,500 Randy DBA Technology $6,000 Report Generated --------------
위의 예 에서 출력 된 보고서 와 마지막 파일 의 제목
Awk 의 범례 6.기술 부서 의 직원 목록 을 인쇄 하 다.
부서 이름 은 현재 네 번 째 필드 이기 때문에"Techology"와 일치 하 는 문자열 을 확인 해 야 합 니 다.$4 가 일치 하면 이 줄 을 인쇄 합 니 다.
$ awk ‘$4 ~/Technology/' employee.txt
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
500 Randy DBA Technology $6,000
연산 자 는 정규 표현 식 비교 입 니 다.기본 동작 과 일치 하면 줄 전 체 를 인쇄 합 니 다.
Awk 의 범례 7.기술 부문 에 인쇄 된 직원 수
다음 예 를 들 어 depart.ment 가 Technology 인지 확인 합 니 다.Action 에 서 는 변수의 계수 만 증가 합 니 다.이 변 수 는 BEGIN 에서 0 으로 초기 화 되 었 습 니 다.
123456

$ awk 'BEGIN { count=0;}
$4 ~ /Technology/ { count++; }
END { print "Number of employees in Technology Dept =",count;}' employee.txt
Number of employees in Tehcnology Dept = 3
END 에서 이 변 수 를 출력 하면 바로 Technology 부서 의 직원 수 입 니 다.
총결산
셸 리 awk print 의 용법 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 셸 awk print 용법 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기