강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

gzip으로 압축된 압축파일에서 특정 패턴의 문자 검색하는 zgrep 실무

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

gzip으로 압축된 압축파일에서 특정 패턴의 문자 검색하는 zgrep 실무

 

 

 

 

zgrep 압축된 파일을 대상으로 특정 패턴 문자열을 검색하는 명령어입니다.

 

 

 

  grep명령어가 압축되지 않은 일반텍스트파일을 대상으로 특정 문자열을 검색하듯이,  zgrep gzip으로 압축된 파일을 압축해제하지 않은 상태에서 특정 패턴에 해당하는 문자열을 검색할 있는 명령어입니다.

 

 

 

  사용하는 방식과 옵션은 grep명령어와 거의 유사하므로 grep명령어와 함께 보시면 좋을 같습니다.

 

 

 

  그리고 리눅스에는 grep zgrep뿐아니라 fgrep, egrep명령어도 함께 익혀두시는 것이 좋습니다.

 

 

 

  책의 명령어편을 참조해 주시기 바랍니다.

 

 

 

 

 

명령어위치 : /usr/bin/zgrep

 

사용형식   : zgrep [옵션] [-e] 검색패턴  검색대상파일...

 

위의 옵션에서 옵션 해당하는 부분에서 허용되는 grep 옵션을 사용하실 있습니다.

 

 

 

 

말씀드린바와 같이zgrep명령어를 사용하시면 gzip으로 압축된 파일에서 특정 패턴의 문자를 검색할 있습니다.

 

 

 

  아래의 passwd.gz파일은 /etc/passwd파일을 압축하여 백업본으로 저장하고 있는 파일입니다.

 

 

 

  파일을 대상으로 특정 문자를 검색해 보도록 하겠습니다.

 

 

 

 

 

[root@su250 sulinux]# ls -l

합계 4

-rw-r--r-- 1 root root 838 2009-01-0323:11 passwd.gz

[root@su250 sulinux]#

 

아래의 예는 passwd.gz 압축파일에서 bible이라는 문자열을 검색하기 위하여 “zgrep bible passwd.gz”라는 명령어를 실행한 결과입니다.

 

 

 

  , 아래의 결과 bible 대한 계정정보를 확인할 있습니다.

 

 

 

 

 

[root@su250 sulinux]# zgrep bible passwd.gz

bible:x:500:500:BIBLE:/home/bible:/bin/bash

[root@su250 sulinux]#

 

zgrep명령어를 이용하면 gzip으로 압축된 파일을 압축해제하지 않아도 특정 문자를 검색할 있다는 것을 있습니다.

 

 

 

 , gzip으로 압축된 압축파일을 대상으로 문자열을 검색할 있다는 것을 있습니다.

 

 

 

 

 

그리고 다음의 예는 zgrep명령어를 이용하여 passwd.gz파일에서 nologin이라는 문자열이 존재하는 행을 모두 검색한 예입니다.

 

 

 

 다음 결과의 내용을 보시면 passwd.gz이라는 압축파일의 내용 가운데 nologin이라는 행을 가진 모든 행들이 출력되었다는 것을 있습니다.

 

 

 

 

 

[root@su250 sulinux]# zgrep nologin passwd.gz

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

avahi-autoipd:x:499:499:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkituser:x:87:87:PolicyKit:/:/sbin/nologin

pulse:x:497:497:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin

distcache:x:94:94:Distcache:/:/sbin/nologin

nscd:x:28:28:NSCD Daemon:/:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:494:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

avahi:x:496:492:avahi-daemon:/var/run/avahi-daemon:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

smolt:x:495:491:Smolt:/usr/share/smolt:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin

torrent:x:494:488:BitTorrent Seed/Tracker:/var/lib/bittorrent:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

squid:x:23:23::/var/spool/squid:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

[root@su250 sulinux]#

 

그리고 위와 같이 압축파일 내에서 일치하는 모든 문자를 대상으로 검색된 내용을 모두 출력할 있지만 검색결과가 많은 경우에는 화면 페이지에 모두 출력하는 것이 부적합할 수가 있을 것입니다.

 

 

 

 그리고 일치하는 문자의 개수만 확인하고자 경우도 있을 것입니다.

 

 

 

 

 

zgrep명령어에서 -c옵션을 사용하시면 주어진 패턴문자에 해당하는 문자가 몇개 존재하는가를 확인할 있습니다.

 

 

 

 , 이런 경우에 –c 옵션을 사용하시면 됩니다.

 

 

 

 , 아래의 예에서는 압축파일 passwd.gz에서 nologin 해당하는 문자의 개수가 존재하는가를 확인하기 위하여 zgrep명령어에 -c옵션을 사용한 것입니다.

 

 

 

 

 

[root@su250 sulinux]# zgrep -c nologin passwd.gz

35

[root@su250 sulinux]#

 

위의 결과 압축파일 passwd.gz에는 nologin패턴과 일치하는 문자가 35 존재함을 있습니다.

 

 

 

 이상과 같이 zgrep grep 거의 유사한 형태로 사용이 가능합니다.

 

 

 

 단지 gzip으로 압축된 압축파일을 대상으로 한다는 것이 조금의 차이일 뿐입니다.

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,056 명
  • 현재 강좌수 :  35,908 개
  • 현재 접속자 :  215 명