정규 표현 식 Awk

1. awk 는 프로 그래 밍 언어 로 프로그램 은 주 순환 이 유지 되 고 주 순환 은 파일 의 줄 마다 처리 합 니 다.
기본 개념:
BEGIND: 주 입력 순환 전에 실행
주 순환 :입력 파일 의 줄 을 처리 합 니 다.
END: 반복 실행 후 실행
기록 하 다. :입력 파일 의 줄 마다 기록 이 라 고 합 니 다.
도 메 인: 기 록 된 모든 문자열 을 도 메 인 이 라 고 합 니 다. 도 메 인의 분할 부 호 는 스페이스 바 나 tab 키 및 기타 지정 한 키 입 니 다. 기본 값 은 스페이스 바 입 니 다. tab 키 는 몇 개의 연속 적 인 스페이스 바 로 봅 니 다.
$1: 첫 번 째 도 메 인 표시
$2: 두 번 째 도 메 인 표시
$0: 모든 필드 표시
용법 1: 패턴 일치
awk '/모드 / {동작} ' 문건
[root@zhu1 ~]# nl zhu.txt
1  ming yue ji shi you.
2  ba jiu wen qing tian
3  bu zhi tian shang gong que goad
4  #jin xi shi he nian root oo*
5  #an good man
[root@zhu1 ~]# awk '/^#/{print "ni hao awk"}' zhu.txt
ni hao awk
ni hao awk

용법 2: 기본 값 과 분할 자 는 스페이스 바 입 니 다.
[root@zhu1 ~]# nl zhu.txt
1  ming yue ji shi you.
2  ba jiu wen qing tian
3  bu zhi tian shang gong que goad
4  #jin xi shi he nian root oo*
5  #an good man
[root@zhu1 ~]# awk '{print $1}' zhu.txt
ming
ba
bu
#jin
#an

-F :도 메 인 구분자 변경 가능
awk -F "구분자" '{ }' 문건
[root@zhu1 ~]# awk '{print $1}' zhu.txt
ming
ba
bu
#jin
#an
[root@zhu1 ~]# awk -F "s" '{print $1}' zhu.txt
ming yue ji
ba jiu wen qing tian
bu zhi tian
#jin xi
#an good man

$후 변수 사용 가능
[root@zhu1 ~]# awk '{print $3}' zhu.txt
ji
wen
tian
shi
man
[root@zhu1 ~]# awk 'BEGIN {m=1;n=2} {print $(m+n)}' zhu.txt
ji
wen
tian
shi
man

awk 관계 연산 자 및 그 의미
< :... 보다 작다
> :... 보다 크다
<= :이하
>= :... 보다 크다
== :... 과 같다
!= :같 지 않다
~ :정규 표현 식 일치
!~ :정규 표현 식 과 일치 하지 않 음
awk 를 이용 하여 ip 주 소 를 꺼 냅 니 다.
[root@zhu1 ~]# ifconfig eth0 | grep 'inet addr'|awk -F : '{print $2}'| awk '{print $1}'
192.168.1.107

정규 표현 식 의 용법 을 결합 하 다.
[root@zhu1 ~]# ifconfig eth0 | grep 'inet addr' | awk -F [:" "]+ '{print $4}'
192.168.1.107

 
두 번 째 용법:
 
[root@zhu3 ~]# ifconfig eth0 | awk -F [:" "]+ 'NR==2 {print $4}'
192.168.70.133
[root@zhu3 ~]# ifconfig eth0 | awk -F '[ :]+' 'NR==2 {print $4}'
192.168.70.133

[:" "] :: 또는 빈 칸 을 구분자 로 표시 합 니 다. + 앞 에 있 는 콜론 이나 빈 칸 을 표시 하 는 0 개 또는 1 개 입 니 다.
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기