[Linux 편] - awk 의 사용
2040 단어 Linux 상용 명령 과 지식
awk 는 강력 한 텍스트 분석 도구 입 니 다.grep 의 검색, sed 의 편집 에 비해 awk 는 데이터 분석 과 보고 서 를 생 성 할 때 특히 강하 다.쉽게 말 하면 awk 는 파일 을 한 줄 씩 읽 는 것 입 니 다. (빈 칸, 탭 문자) 는 기본 구분자 로 각 줄 을 자 르 고 자 른 부분 을 여러 가지 분석 처리 합 니 다.
구체 적
1. 기초 지식 포인트
awk - F '{pattern + action}' {filenames} 사용자 정의 구분자 지원 정규 표현 식 일치 지원 사용자 정의 변수, 배열 a[1] a[tom] map (key) 내장 변수 ARGC 지원 명령 행 매개 변수 개수 ARGV 명령 행 매개 변수 배열 ENVIRON 대기 열 에서 시스템 환경 변수의 사용 을 지원 합 니 다 FILENAME awk 탐색 파일 이름 FNR 파일 을 탐색 하 는 기록 수 FS 입력 필드 구분 자 를 설정 합 니 다. 명령 행 - F 옵션 NF 와 같 습 니 다. 기 록 된 도 메 인 갯 수 NR 탐색 읽 은 기록 수 OFS 출력 영역 구분자 ORS 출력 기록 구분자 RS 제어 기록 구분자 지원 함수 print, split, substr, sub, gsub 지원 프로 세 스 제어 문, 클래스 C 언어 if, while, do / while, for, break, contine
$0 은 모든 도 메 인 을 표시 합 니 다. $1 은 첫 번 째 도 메 인 을 표시 하고 $n 은 n 번 째 도 메 인 을 표시 합 니 다.기본 도 메 인 구분자 가 스페이스 바 나 tab 키 입 니 다.2. 예 를 들 면
/ etc / passwd 만 표시 되 는 계 정: CUTawk - F ':' {print $1} 'passwd 는 / etc / passwd 의 계 정과 계 정 에 대응 하 는 셸 만 표시 하고 계 정과 셸 은 쉼표 로 분할 되 며 모든 줄 이 시작 되 기 전에 열 이름 name, 셸 을 추가 합 니 다. 마지막 줄 에' blue, / bin / nosh '(cut, sed) awk - F': 'BEGIN {print' name, shell '} {print $1', '$7} END {print' blue, / bin / nosh '}'passwd 검색 / etc / passwd 루트 키워드 가 있 는 모든 줄 awk' '/root/ { print $0}' passwd 통계 / etc / passwd 파일 에서 줄 마다 줄 번호, 줄 마다 열 수, 해당 하 는 전체 줄 내용
xxx Math English C++ Experiment
Monkey 100 90 95 Good
Cat 80 100 60 Perfect
Dog 90 60 70 Great
Tiger 95 85 90 Fantastic
Administrator@51B6904C3C8A485 ~/learn_awk
$ awk '{print $2}' test.txt
Math
100
80
90
95
Administrator@51B6904C3C8A485 ~/learn_awk
$
이 블 로 그 를 보 세 요. 잘 했 어 요.https://blog.csdn.net/stpeace/article/details/46848873