gzip으로 압축된 압축파일에서 특정 패턴의 문자 검색하는 zgrep 실무
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 7,363 조회
- 0 추천
- 목록
본문
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-03 23: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으로 압축된 압축파일을 대상으로 한다는 것이 조금의 차이일 뿐입니다.
관련자료
-
이전
-
다음