리눅스 명령어 grep, awk, sed
2022. 12. 19. 21:10ㆍLinux
grep
- 특정 조건에 맞는 문자열 패턴 검색
- 라인(줄) 단위로 출력
- 형식
- grep '문자열' 파일경로
grep 'samadal' /etc/passwd
- grep '문자열' 파일경로
[root@localhost bash]# grep 'samadal' /etc/passwd
samadal:x:1000:1000:samadal:/home/samadal:/bin/bash
[root@localhost bash]# grep -v 'samadal' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost bash]# grep 'samadal' /etc/passwd | nl
1 samadal:x:1000:1000:samadal:/home/samadal:/bin/bash
awk
- 특정 조건에 맞는 패턴을 검색(열(필드) 단위로 출력)
- 문법
- awk로 시작
- awk 'PATTERN' 파일명
- awk {'PATTERN'} 파일명
- awk '/PATTERN/ {ACTION}' 파일명
- 명령어(command)의 결과를 이용할 경우
- command | awk 'PATTERN'
- command | awk '{ACTION}'
- command | awk 'PATTERN {ACTION}'
- command | awk '{print $NF}' (맨 끝을 의미)
- awk로 시작
[root@localhost bash]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 471M 0 471M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 8.2M 478M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 22G 5.1G 16G 25% /
tmpfs 98M 12K 98M 1% /run/user/42
tmpfs 98M 0 98M 0% /run/user/0
[root@localhost bash]# df -h | awk '{print $6,$5}'
Mounted Use%
/dev 0%
/dev/shm 0%
/run 2%
/sys/fs/cgroup 0%
/ 25%
/run/user/42 1%
/run/user/0 0%
[root@localhost bash]# awk '/halt$/ {print $1}' /etc/passwd
halt:x:7:0:halt:/sbin:/sbin/halt
[root@localhost bash]# awk 'BEGIN{FS=":"} /halt$/ {print $1}' /etc/passwd
halt
sed
- 저장이 안되는 결과값(39%) 등을 저장하기 위해 '%'를 제거해주는 유틸리티
- 메모리 버퍼에서 문자열을 편집하는 기능
- vi에디터의 치환과 유사한 기능
[root@localhost bash]# df -h | awk '{print $5}'
Use%
0%
0%
2%
0%
25%
1%
0%
[root@localhost bash]# df -h | awk '{print $5}' | sed 's/%/!/'
Use!
0!
0!
2!
0!
25!
1!
0!
특정 행 출력
| sed -n 3p
``백쿼터. 명령어 안에서 명령어 먼저 사용.
[root@localhost bash]# tail -3 /etc/passwd `mkdir a`; ls -l
named:x:25:25:Named:/var/named:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
합계 28
drwxr-xr-x 2 root root 4096 12월 19 20:58 a
drwxr-xr-x 2 root root 4096 12월 19 15:36 hp
-rwx------ 1 root root 515 12월 19 17:33 main.bash
-rwx------ 1 root root 39 12월 19 17:27 main_ppsd.bash
-rwx------ 1 root root 58 12월 19 16:35 main_user.bash
drwxr-xr-x 2 root root 4096 12월 19 16:53 ppsd
drwxr-xr-x 2 root root 4096 12월 19 16:40 user
[root@localhost bash]# date
2022. 12. 19. (월) 21:08:45 KST
[root@localhost bash]# date +%Y
2022
[root@localhost bash]# date +%y
22
[root@localhost bash]# date +%M
08
[root@localhost bash]# date +%m
12
[root@localhost bash]# date +%D
12/19/22
[root@localhost bash]# date +%d
19
[root@localhost bash]# date +%H
21
[root@localhost bash]# date +%h
12월
[root@localhost bash]# date +%S
27
[root@localhost bash]# date +%s
1671451773
'Linux' 카테고리의 다른 글
crontab (13) | 2022.12.20 |
---|---|
쉘 스크립트 맛보기 (12) | 2022.12.20 |
1214수업, 리눅스xe복습, 윈도우관리, (3) | 2022.12.14 |
1213수업. httpd, xe설치 (3) | 2022.12.13 |
14. 프로세스 (3) | 2022.09.25 |