Linux awk 명령

2200 단어
awk 는 한 줄 의 내용 을 하나의 기록 이 라 고 부 르 고 지정 한 구분자 로 구 분 된 열 을 도 메 인 이 라 고 부 릅 니 다.awk 는 보통 빈 칸 을 도 메 인 구분자 로 하고 기록 구분자 로 합 니 다.awk 도 BEGIN 과 END 를 사용 하여 매 칭 할 수 있 습 니 다.
0. awk 프로그램 을 실행 하 는 3 가지 방식
(1), 명령 행 방식 :awk ' awk ' (2), awk 스 크 립 트 방식 :awk -f awk (3), 셸 스 크 립 트 파일 을 실행 하지만 편집 기 를 awk : vi shell , .sh, #!/bin/awk, shell ,shell #!/bin/bash。 :./shell . 로 지정 합 니 다.
1. awk 내장 변수
ARGC                      
ARGV                      
ENVIRON                          
FILENAME           awk      
FNR                        
FS                         ,       -F  
NF                          
NR                       
OFS                      
ORS                       
RS                        

2. BEGIN 모듈 과 END 모듈BEGIN 모듈 뒤에 동작 블록 이 바짝 붙 어 있 습 니 다. 이 동작 블록 은 awk 에서 입력 파일 을 처리 하기 전에 실 행 됩 니 다.그래서 입력 없 이 테스트 할 수 있 습 니 다.OFS, RS, FS 등 내장 변수의 값 을 바 꾸 고 제목 을 인쇄 하 는 데 사 용 됩 니 다.예: awk 'BEGIN{FS=":"; OFS="\t"; ORS="

"}{print $1,$2,$3} test
.입력 파일 을 처리 하기 전에 도 메 인 구분자 (FS) 는 콜론 으로 설정 되 고 출력 파일 구분자 (OFS) 는 탭 문자 로 설정 되 며 출력 기록 구분자 (ORS) 는 두 개의 줄 바 꿈 문자 로 설정 되 어 있 음 을 나타 낸다.awk 'BEGIN{print "TITLE TEST"} 제목 만 인쇄 합 니 다.END 입력 파일 과 일치 하지 않 지만 동작 블록 에 있 는 모든 동작 을 수행 합 니 다. 전체 입력 파일 처리 가 끝 난 후에 실 행 됩 니 다.예 를 들 어 awk 'END{print "The number of records is" NR}' test, 상기 식 은 처 리 된 모든 기록 수 를 인쇄 할 것 이다.
3. 변수 응용 인 스 턴 스
/etc/passwd, 출력: 파일 이름 줄 번호 각 열 내용 awk - F ':' {print 'filename:' FILENAME ', linenumber:' NR ', columns:' NF ', linecontent:' $0} '/etc/passwd
printf 를 사용 하면 코드 가 더 간결 하고 읽 기 쉬 운 awk - F ':' {printf ('filename:% 5s, linenumber:% s, columns:% s, linecontent:% s'), FILENAE, NR, NF, $0}'/etc/passwd 에서 $0 은 모든 도 메 인 을 표시 합 니 다.
4. 참고 문헌:
0, awk 용법 (입문 사용) (추천) 1, awk, sed, grep, cut, uniq, sort, tr, wc, head, tail 의 흔 한 용법 2, 정규 표현 식 및 grep, sed, awk, cut, sort, uniq 도구 3, awk 프로그램 을 실행 하 는 3 가지 방식

좋은 웹페이지 즐겨찾기