"리눅스 awk"의 두 판 사이의 차이

42번째 줄: 42번째 줄:
Jul
Jul
</source>
</source>
==필드 구분자를 통한 출력 예시==
*공백을 필드 구분자로 사용하여 필드를 나눈 후 9번째 필드 출력
<source lang="console">
john@zetawiki:~$ ll
total 24
drwxrwxr-x  3 john john 4096 Feb 14 14:06 ./
drwxr-xr-x 12 john john 4096 Feb 14 14:06 ../
-rw-rw-r--  1 john john  69 Feb 14 13:52 a.c
-rw-rw-r--  1 john john  19 Feb 14 14:06 b.c
-rw-rw-r--  1 john john  38 Feb 14 14:06 c.c
drwxrwxr-x  2 john john 4096 Feb 14 13:53 d/
john@zetawiki:~$ ll | awk -F " " '{print $9}'
./
../
a.c
b.c
c.c
d/
</source>
;→ 공백을 필드 구분자로 사용하여 필드를 나눈 후 앞에서 9번째 필드를 출력해줌


==실행 예시2==
==실행 예시2==

2017년 2월 14일 (화) 14:41 판

1 개요

awk, gawk
오크
/bin/awk
/bin/gawk
/usr/bin/awk

2 문법

*awk 'pattern'
*awk '{action}'
*awk 'pattern {action}'

3 변수

  • 필드값 변수
$0 → 모든 필드 (행의 값 그대로)
$1 → 첫번째 필드
$2 → 두번째 필드
$(NF-1) → 마지막 전 필드
$NF → 마지막 필드

4 원하는 필드 출력 예시

  • date에서 원하는 필드만 출력
1. 현재 시간 출력
john@zetawiki:~$ date
Wed Jul 20 21:59:52 KST 2016
2. 1번의 현재 시간에서 2번째 필드인 월을 출력
john@zetawiki:~$ date | awk '{print $2}'
Jul

5 필드 구분자를 통한 출력 예시

  • 공백을 필드 구분자로 사용하여 필드를 나눈 후 9번째 필드 출력
john@zetawiki:~$ ll
total 24
drwxrwxr-x  3 john john 4096 Feb 14 14:06 ./
drwxr-xr-x 12 john john 4096 Feb 14 14:06 ../
-rw-rw-r--  1 john john   69 Feb 14 13:52 a.c
-rw-rw-r--  1 john john   19 Feb 14 14:06 b.c
-rw-rw-r--  1 john john   38 Feb 14 14:06 c.c
drwxrwxr-x  2 john john 4096 Feb 14 13:53 d/
john@zetawiki:~$ ll | awk -F " " '{print $9}'

./
../
a.c
b.c
c.c
d/
→ 공백을 필드 구분자로 사용하여 필드를 나눈 후 앞에서 9번째 필드를 출력해줌

6 실행 예시2

[root@zetawiki ~]# echo | awk '{ print 3+2 }'
5
[root@zetawiki ~]# echo | awk '{ print "Hello, world!" }'
Hello, world!
[root@zetawiki ~]# cat /etc/passwd | grep apache
apache:x:48:48:Apache:/var/www:/sbin/nologin
[root@zetawiki ~]# cat /etc/passwd | awk /apache/
apache:x:48:48:Apache:/var/www:/sbin/nologin

7 같이 보기

8 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}