Linux 에서 awk 사용법
1. awk 개술 AWK 는 좋 은 텍스트 처리 도구 입 니 다. 파일 의 모든 줄 을 스 캔 하여 명령 줄 에 주어진 내용 과 일치 하 는 패턴 을 찾 습 니 다.일치 하 는 내용 을 발견 하면 다음 프로 그래 밍 절 차 를 진행 합 니 다.일치 하 는 내용 을 찾 지 못 하면 다음 줄 을 계속 처리 합 니 다.2. 형식 awk [옵션 매개 변수] 'script' var = file (s) 또는 awk [옵션 매개 변수] - f scriptfile var = file (s)
3. 매개 변수 - F --- 입력 파일 의 구분 자 를 지정 합 니 다.기본 구분자 가 공백 입 니 다.
4. 내장 변수
5. 연산 판단 awk 는 여러 가지 연산 을 지원 합 니 다. 이러한 연산 은 C 언어 가 제공 하 는 기본 과 같 습 니 다. 예 를 들 어 +, -, *,/,% 등 이 있 습 니 다. 또한 awk 는 C 언어 에서 +, –, + =, - = +, = - 와 같은 기능 도 지원 합 니 다.awk 역시 관계 판단 을 지원 합 니 다.(같 지 않 음), > (크 지 않 음), > = (크 지 않 음 과 같 음), < = (작 음 과 같 음) 등등
[root@localhost Desktop]# awk -F: '$1~/root/{print $1}' /etc/passwd
root
첫 번 째 열 에 만 일치
[root@localhost Desktop]# awk -F: '$3>1000 {print $1}' /etc/passwd
nfsnobody
/etc/passwd 파일 에서 uid 가 1000 이상 인 사용자 이름 을 출력 합 니 다.
6. 프로 세 스 제어 awk 는 프로 세 스 제어 문 구 를 제공 합 니 다. if, while, for 는 c 언어 와 유사 합 니 다.
7. 이 컴퓨터 의 ip 주 소 를 인 스 턴 스 로 표시 합 니 다.
[root@localhost Desktop]# ifconfig eno16777736 |grep inet |awk '{print $2}'
192.168.230.140
fe80::20c:29ff:fed8:7834
이 컴퓨터 의 구체 적 인 ip 정 보 를 ifconfig 명령 으로 표시 한 다음 grep 를 사용 하여 ip 주소 에 있 는 정 보 를 걸 러 내 고 마지막 으로 awk 로 지정 한 필드 를 캡 처 합 니 다.
최근 시스템 로그 인 상태 보이 기
[root@localhost Desktop]# last |awk '{print $1}'
root
root
(unknown
reboot
wtmp
Redhat 사용자 의 bash 보기
[root@localhost Desktop]# cat /etc/passwd |grep redhat |awk -F":" '{print $7}'
/bin/bash
이것 은 기본 구분자 가 없습니다. 다음 으로 지정 합 니 다.
NF 매 행렬 수 계산 [root@localhost Desktop]# cat/etc/fstab
#
cat /etc/fstab
#Created by anaconda on Mon Sep 16 22:28:05 2019
#
#Accessible filesystems, by reference, are maintained under '/dev/disk'
#See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=c66514ee-7005-4db4-94a6-fd2c9c27eb49 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
[root@localhost Desktop]# awk '{print NF}' /etc/fstab
0
1
2
10
1
9
12
1
6
6
6
/etc/fstab 줄 보기
[root@localhost Desktop]# awk '{print NR}' /etc/fstab
1
2
3
4
5
6
7
8
9
10
11
줄 출력 전에 필드 추가
[root@localhost Desktop]# awk -F":" '{print "hello",$1}' /etc/passwd
hello root
hello bin
hello daemon
hello adm
hello lp
hello sync
hello shutdown
hello halt
hello mail
hello operator
hello games
hello ftp
hello nobody
hello avahi-autoipd
hello dbus
hello polkitd
hello abrt
hello tss
hello unbound
hello colord
hello usbmuxd
hello libstoragemgmt
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
✨〰️ ZI 〰️✨ Vim 구문❮ ZI ❯ 🧙♀️ Zsh를 위한 스위스 아미 나이프. 모든 것을 함께 붙일 수 있도록 설계되었습니다. zsh 유형의 파일에 있는 명령에 대한 Vim 구문 정의입니다. 📥 설치 Vim 플러그인으로 로드합니다. 예를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.