<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>달빛방랑의 호밀밭</title>
		<link>http://odysseymoon.tistory.com/</link>
		<description>달빛방랑에 이런저런 이야기</description>
		<language>ko</language>
		<pubDate>Mon, 19 Mar 2012 17:46:50 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>달빛방랑</managingEditor>
		<image>
			<title>달빛방랑의 호밀밭</title>
			<url>http://cfs7.tistory.com/upload_control/download.blog?fhandle=YmxvZzE0ODM3NUBmczcudGlzdG9yeS5jb206L2F0dGFjaC8wLzAuanBn</url>
			<link>http://odysseymoon.tistory.com</link>
			<description>달빛방랑에 이런저런 이야기</description>
		</image>
		<item>
			<title>MySQL Query Monitoring</title>
			<link>http://odysseymoon.tistory.com/32</link>
			<description>MySQL에서 실행되는 Query 정보를 확인하는 방법 아래와 같이 몇가지 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;﻿&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;1. show processlist&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
MySQL Console 내에서 위의 명령어를 통해서 현재 실행 중인 (또는 연결된) Process 정보를 확인 할 수 있습니다.&lt;br /&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/134762384F66E2B5461128&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/134762384F66E2B5461128&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;MySQL_show_processlist.png&quot; height=&quot;116&quot; width=&quot;660&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;br /&gt;
DB Connection Full이나 hang 걸린 query를 찾아낼 때 유용합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 12pt; &quot;&gt;&lt;b&gt;2. General Query Log&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;MySQL에서는 실행된 Query 정보를 Log File로 남길 수 있는데&lt;br /&gt;
MySQL 5.0 까지는 mysqld 데몬 실행 시 Log File을 설정해 주어야 합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[mysql@localhost ~]# mysqld --log=/var/log/mysql.log&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;
하지만 실행 중인 mysqld 데몬을 재실행해야 하는 부담이 있기 때문에&lt;br /&gt;
&lt;br /&gt;
MySQL 5.1 이상부터는 runtime 상황에서 Query Log를 설정 할 수 있게 추가되었습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;mysql&amp;gt; show VARIABLES where variable_name like 'general_log%';&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;+------------------+-------------------------------+&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;| Variable_name &amp;nbsp; &amp;nbsp; | Value &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;+------------------+-------------------------------+&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;| general_log &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| OFF &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;| general_log_file &amp;nbsp; &amp;nbsp; | /APP/mysql-data/localhost.log |&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;+------------------+-------------------------------+&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;2 rows in set (0.00 sec)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;mysql&amp;gt; set GLOBAL general_log = 'ON';&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Query OK, 0 rows affected (0.01 sec)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;mysql&amp;gt; show VARIABLES where variable_name like 'general_log%';&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;+------------------+-------------------------------+&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;| Variable_name &amp;nbsp; &amp;nbsp; | Value &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;+------------------+-------------------------------+&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;| general_log &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| ON &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;| general_log_file &amp;nbsp; &amp;nbsp;| /APP/mysql-data/localhost.log |&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;+------------------+-------------------------------+&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;2 rows in set (0.00 sec)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;mysql&amp;gt; set GLOBAL general_log = 'OFF';&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Query OK, 0 rows affected (0.05 sec)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;
위와 같이 general_log = 'ON' 으로 설정하면 general_log_file 로 설정된 파일 위치에 실행 Query 정보가 쌓이게 되므로&lt;br /&gt;
&lt;br /&gt;
해당 파일을 tailing 하면 Query 모니터링이 가능합니다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
(general_log = 'OFF' 설정을 하기 전까지는 로그 파일이 계속 쌓이게 되므로 Disk Full을 유의해야 합니다.)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 12pt; &quot;&gt;&lt;b&gt;3. tcpdump&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;MySQL 데몬이 binding하고 있는 Port(기본 3306)를 tcpdump를 통해 Packet Capturing을 하는 방법입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255); &quot;&gt;[mysql@localhost ~]#&lt;/span&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp;tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;
위와 같은 명령어를 사용하면 eth0 인터페이스로 들어오는 3306 포트의 tcp Packet의 문자열들을 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
하지만 이렇게 하면 실행 쿼리 및 기타 정보까지 모두 보이기 때문에 &lt;br /&gt;
perl을 이용하여 깔끔하게 Query 명령어만 보여주도록 아래와 같이 shell을 만들도록 합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[mysql@localhost ~]# vim query_monitor.sh&lt;/font&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;#!/bin/sh&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;#&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;# MySQL 패킷 살펴보기&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;#&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;INTERFACE=&quot;eth0&quot;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;PORT=&quot;3306&quot;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;tcpdump -i $INTERFACE -s 0 -l -w - dst port $PORT | strings | perl -e '&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;while(&amp;lt;&amp;gt;) { chomp; next if /^[^ ]+[ ]*$/;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp; if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER)/i) {&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp; &amp;nbsp; if (defined $q) { print &quot;$q\n&quot;; }&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp; &amp;nbsp; $q=$_;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp; } else {&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp; &amp;nbsp; $_ =~ s/^[ \t]+//; $q.=&quot; $_&quot;;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp; }&lt;/font&gt;&lt;/p&gt;
&lt;font color=&quot;#ffffff&quot;&gt;}'&lt;/font&gt;&lt;span style=&quot;color: rgb(255, 255, 255); &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;tcpdump를 이용해 캡쳐된 Packet들 중에서 Query 구문만 골라서 보여주는 Shell 입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;위의 shell을 이용하면 eth0 인터페이스로 들어오는 3306 포트 패킷에서 SELECT, UPDATE, DELETE, INSERT, SET, COMMIT, ROLLBACK, CREATE, DROP, ALTER 구문이 들어가는 string을 모니터링 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
			<category>programming</category>
			<category>Linux</category>
			<category>mysql</category>
			<category>tcpdump</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/32</guid>
			<comments>http://odysseymoon.tistory.com/32#entry32comment</comments>
			<pubDate>Mon, 19 Mar 2012 17:34:32 +0900</pubDate>
		</item>
		<item>
			<title>iptables를 이용한 Proxy 서버 구축</title>
			<link>http://odysseymoon.tistory.com/31</link>
			<description>&lt;span style=&quot;background-color: transparent;&quot;&gt;이번에는 iptables를 이용해서 간단한 Proxy 서버를 만들어 보겠습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;기본 컨셉은 아래와 같습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p style=&quot;background-color: transparent; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/176DF1444F62ECED33A609&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/176DF1444F62ECED33A609&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ProxyServerConcept.png&quot; height=&quot;155&quot; width=&quot;660&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;보통의 3 Tier 시스템은 2차 방화벽 뒤에 DBMS가 위치합니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;운영시에는 문제가 없지만, &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;개발 환경에서는 Local PC에서 DBMS에 접속하여 테스트 하거나&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;운영 환경 Data를 필요로 할 때 등에는 접근 자체가 불가능하여 &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;Local System에 복사본 System을 구축하여 매번 Mirgration을 해야하는 상황이 발생하게 됩니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;이럴 때 iptables를 이용하여 패킷을 외부 Server로 Forwarding 해주는 Proxy 서버를 구성할 수 있습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;아래와 같이 &amp;nbsp;iptables를 이용해 설정해 줍니다.&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; font-size: 13px; font-family: 'Segoe UI', 'Lucida Grande', Arial; vertical-align: baseline; line-height: 19px; text-align: left; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[root@localhost ~]#&amp;nbsp;&lt;strong&gt;sysctl net.ipv4.ip_forward=1&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; font-size: 13px; font-family: 'Segoe UI', 'Lucida Grande', Arial; vertical-align: baseline; line-height: 19px; text-align: left; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;net.ipv4.ip_forward = 1&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; font-size: 13px; font-family: 'Segoe UI', 'Lucida Grande', Arial; vertical-align: baseline; line-height: 19px; text-align: left; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[root@localhost ~]#&amp;nbsp;&lt;strong&gt;iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.10:3306&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; font-size: 13px; font-family: 'Segoe UI', 'Lucida Grande', Arial; vertical-align: baseline; line-height: 19px; text-align: left; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[root@localhost ~]#&amp;nbsp;&lt;strong&gt;iptables -t nat -A POSTROUTING -j MASQUERADE&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;IpV4에 대해서 Forward가 가능하게 설정하고&lt;br /&gt;
80 포트로 들어오는 tcp 패킷 들을 192.168.0.10 서버의 3306 포트로 넘겨줍니다.&lt;br /&gt;
또한 192.168.0.10 서버에서 오는 해당 응답을 다시 돌려줘야 하기 때문에 POSTROUTING도 설정해 줍니다.&lt;br /&gt;
&lt;br /&gt;
위와 같이 설정한 다음 iptables 상태를 보면 아래와 같습니다.&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(203, 203, 203); border-right-color: rgb(203, 203, 203); border-bottom-color: rgb(203, 203, 203); border-left-color: rgb(203, 203, 203); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[root@localhost ~]# service iptables status&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Table: nat&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain PREROUTING (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;1 &amp;nbsp; &amp;nbsp;DNAT &amp;nbsp; &amp;nbsp; &amp;nbsp; tcp &amp;nbsp;-- &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tcp dpt:80 to:192.168.0.10:3306&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain POSTROUTING (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;1 &amp;nbsp; &amp;nbsp;MASQUERADE &amp;nbsp;all &amp;nbsp;-- &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain OUTPUT (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Table: filter&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain INPUT (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain FORWARD (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain OUTPUT (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;이제 Proxy Server의 80 포트로 접속하면 MySQL DB 서버의 3306번 서버로 접속되는 것을 확인할 수 있습니다.&lt;/span&gt;</description>
			<category>programming</category>
			<category>iptables</category>
			<category>Linux</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/31</guid>
			<comments>http://odysseymoon.tistory.com/31#entry31comment</comments>
			<pubDate>Fri, 16 Mar 2012 16:56:07 +0900</pubDate>
		</item>
		<item>
			<title>iptables를 이용한 Port Forwarding</title>
			<link>http://odysseymoon.tistory.com/30</link>
			<description>&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;Linux에서는 보안상의 이유로 1024 번 이하의 Port는 root 유저만 사용이 가능합니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;보통 WEB/WAS 실행 시 80 또는 443 port를 binding하기 &amp;nbsp;위해 &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;아예 root 계정으로 올리거나 sudo 등의 명령어를 통해 실행하는데 &lt;br /&gt;
&lt;br /&gt;user 계정으로 실행하면서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;Port Forwarding을 이용하여&lt;br /&gt;
8080 또는 8443으로 Binding 된 서비스를 80 또는 443 포트로 접속하는 방법을 알아보겠습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;Concept은 아래와 같습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p style=&quot;background-color: transparent; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile27.uf.tistory.com/original/121FA84C4F62A7C14093C8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/121FA84C4F62A7C14093C8&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PortForwardingConcept.png&quot; height=&quot;162&quot; width=&quot;469&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;WEB/WAS를 8080 포트로 Binding하고 방화벽은 80 Port만 열어두어서&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;사용자가 불필요하게 http://siteUrl:8080 형태로 접속하지 않아도 되며&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;root 계정이 아닌 user 계정으로 서버를 실행하여 보안 이슈를 회피하고 Port 가용성을 확보하는 방법입니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;일단 현 상황을 알아보기 위해서 iptables 이 어떤 상태인지 확인 합니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(71, 71, 71); border-right-color: rgb(71, 71, 71); border-bottom-color: rgb(71, 71, 71); border-left-color: rgb(71, 71, 71); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[root@localhost ~]# service iptables status&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Table: filter&lt;/font&gt;&lt;/p&gt;
&lt;font color=&quot;#ffffff&quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;Chain INPUT (policy ACCEPT)&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;Chain FORWARD (policy ACCEPT)&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;Chain OUTPUT (policy ACCEPT)&lt;/p&gt;
num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;위에서는 아무 정책도 설정되지 않은 것이 보입니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;아래와 같이 두 개의 작업을 추가해 줍니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(71, 71, 71); border-right-color: rgb(71, 71, 71); border-bottom-color: rgb(71, 71, 71); border-left-color: rgb(71, 71, 71); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[root@localhost ~]#&lt;b&gt; iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080&lt;/b&gt;&lt;br /&gt;
[root@localhost ~]#&lt;b&gt; iptables -t filter -A FORWARD -p tcp -m tcp --dport 80 -j ACCEPT&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;
80 포트를 8080 포트로 REDIRECT 하고 80포트에 대한 FORWARD를 허락하는 명령입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;다시 iptables 상태를 확인해 보면 아래와 같이 변경됨을 알 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(71, 71, 71); border-right-color: rgb(71, 71, 71); border-bottom-color: rgb(71, 71, 71); border-left-color: rgb(71, 71, 71); background-color: rgb(0, 0, 0); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;[root@localhost ~]# service iptables status&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Table: filter&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain INPUT (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain FORWARD (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;1 &amp;nbsp; &amp;nbsp;ACCEPT &amp;nbsp; &amp;nbsp; tcp &amp;nbsp;-- &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tcp dpt:80&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain OUTPUT (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Table: nat&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain PREROUTING (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;1 &amp;nbsp; &amp;nbsp;REDIRECT &amp;nbsp; tcp &amp;nbsp;-- &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tcp dpt:80 redir ports 8080&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain POSTROUTING (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;Chain OUTPUT (policy ACCEPT)&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;num &amp;nbsp;target &amp;nbsp; &amp;nbsp; prot opt source &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;
이제 80 포트를 통해 서버로 접속하면&lt;br /&gt;
&lt;br /&gt;
8080 포트로 Binding 된 서비스로 Forwarding 됨을 확인 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
			<category>programming</category>
			<category>iptables</category>
			<category>Linux</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/30</guid>
			<comments>http://odysseymoon.tistory.com/30#entry30comment</comments>
			<pubDate>Fri, 16 Mar 2012 11:59:04 +0900</pubDate>
		</item>
		<item>
			<title>방화벽 포트의 오픈 여부 확인</title>
			<link>http://odysseymoon.tistory.com/29</link>
			<description>&lt;br /&gt;
근래의 모든 IT System들은 방화벽 내부에서 보호받고 있습니다. 이러한 시스템들은 대부분 특정 포트만 접속을 허용함으로써&amp;nbsp;외부로 부터 오는 불특정 다수의 공격에 대해 원천적으로 접근을 금지 합니다.&lt;br /&gt;
&lt;br /&gt;
하지만 반대로 특정 포트에 대한 방화벽 해제를 요청한 후에 실제로 해당 포트가 해제 되었는지에 대해서는 확인하기가 참으로 난감합니다. 물론 해당 포트로 제공되는 서비스를 실행해서 확인하면 되겠지만 실 구현물이 없는 상태에서는 속수무책일 수 밖에 없습니다.&lt;br /&gt;
&lt;br /&gt;
이런 가려움을 긁어주는 툴이 역시나 MS에서 제공하고 있습니다.&lt;br /&gt;
&lt;br /&gt;
바로 &lt;a href=&quot;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=17148&quot; target=&quot;_blank&quot; title=&quot;[http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=17148]로 이동합니다.&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#7293fa&quot;&gt;&lt;b&gt;PortQry&lt;/b&gt;&lt;/font&gt;&lt;/a&gt; 라는 툴입니다.&lt;br /&gt;
&lt;br /&gt;
PortQry는 Windows Command Line 상에서 특정 IP또는 Domain의 포트가 어떤 상태인지 확인 가능합니다.&lt;br /&gt;
&lt;br /&gt;
자세한 사용법은 &lt;a href=&quot;http://support.microsoft.com/kb/832919/ko&quot; target=&quot;_blank&quot; title=&quot;[http://support.microsoft.com/kb/832919/ko]로 이동합니다.&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#7293fa&quot;&gt;&lt;b&gt;이곳&lt;/b&gt;&lt;/font&gt;&lt;/a&gt;을 참조하면 되고&lt;br /&gt;
&lt;br /&gt;
간단하게&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(243, 197, 52); border-right-color: rgb(243, 197, 52); border-bottom-color: rgb(243, 197, 52); border-left-color: rgb(243, 197, 52); background-color: rgb(254, 254, 184); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;/p&gt;
&lt;div class=&quot;indent&quot;&gt;
&lt;span class=&quot;userInput&quot;&gt;&lt;b&gt;portqry -n &lt;var&gt;192.168.1.20&lt;/var&gt; -e 
1434 -p tcp&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;
형태로 실행합니다.&lt;br /&gt;
&lt;br /&gt;
PortQry 실행 후 조회한 포트 별로 3가지 상태가 나오는데 상세한 의미는 아래와 같습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(193, 193, 193); border-right-color: rgb(193, 193, 193); border-bottom-color: rgb(193, 193, 193); border-left-color: rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;tocHeadRef&quot;&gt;&lt;span&gt;&lt;a id=&quot;4&quot;&gt;&lt;/a&gt;&lt;/span&gt;포트 상태 보고&lt;/h3&gt;
&lt;script&gt;&lt;/script&gt;
PortQry는 다음 방법 중 하나로 포트의 상태를 보고합니다. 
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;LISTENING(수신 중)&lt;/b&gt; 이 응답은 대상 포트에서 프로세스가 수신 대기 중임을 나타냅니다. PortQry가 대상 포트에서 
응답을 받았습니다.
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;NOT LISTENING(수신 중이지 않음)&lt;/b&gt; 이 응답은 대상 포트에서 수신 대기 중인 프로세스가 없음을 나타냅니다. 
PortQry가 대상 포트에서 다음 ICMP(Internet Control Message Protocol) 메시지 중 하나를 받았습니다. 
&lt;div class=&quot;message&quot;&gt;
Destination unreachable &lt;/div&gt;
&lt;div class=&quot;message&quot;&gt;
Port unreachable &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;FILTERED(필터링됨)&lt;/b&gt; 이 응답은 대상 포트가 필터링되고 있음을 나타냅니다. PortQry가 대상 포트에서 응답을 받지 
못했습니다. 프로세스가 대상 포트에서 수신 대기 중이거나 그렇지 않을 수 있습니다. 기본적으로 PortQry는 TCP 포트를 세 번 쿼리하고 
&lt;b&gt;FILTERED&lt;/b&gt; 응답을 반환하며 UDP 포트를 한 번 쿼리하고 &lt;b&gt;FILTERED&lt;/b&gt; 응답을 반환합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
위 상태들 중 FILTERED 상태일 때는 아직 방화벽 해제가 되지 않은 상태로 보면 됩니다.&lt;br /&gt;
&lt;br /&gt;
PortQry를 손쉽게 사용하기 위한 GUI 도구로 &lt;a href=&quot;http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe (http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/portqryui.exe&quot; target=&quot;_blank&quot; title=&quot;[http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe (http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/portqryui.exe]로 이동합니다.&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe&quot; target=&quot;_blank&quot; title=&quot;[http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe]로 이동합니다.&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#7293fa&quot;&gt;&lt;b&gt;PortQryUI&lt;/b&gt;&lt;/font&gt;&lt;/a&gt;도 제공합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
			<category>programming</category>
			<category>PortQry</category>
			<category>방화벽</category>
			<category>포트</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/29</guid>
			<comments>http://odysseymoon.tistory.com/29#entry29comment</comments>
			<pubDate>Fri, 22 Jul 2011 14:56:06 +0900</pubDate>
		</item>
		<item>
			<title>ORA-08177 - can't serialize access for this transaction</title>
			<link>http://odysseymoon.tistory.com/28</link>
			<description>&lt;p&gt;배치잡의 특성상 동일시점에 여러개의 Job이 실행 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
DB를 Oracle을 사용한다면 위와 같은 상황에서 종종 발생하는 것이&lt;br /&gt;
&lt;br /&gt;
&lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;ORA-08177 - can't serialize access for this transaction&lt;br /&gt;
&lt;br /&gt;
&lt;/strong&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;이 에러이다.&lt;br /&gt;
&lt;br /&gt;
JOB_EXECUTION 등의 테이블을 대상으로 동시에 update와 select 등이 발생하기 때문에 발생하는 문제이다.&lt;br /&gt;
&lt;br /&gt;
이는 Programming적인 문제이기 보다는 ORACLE 설정에 대한 문제이다.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://forum.springsource.org/showthread.php?t=61948&amp;amp;highlight=ORA-08177&quot;&gt;http://forum.springsource.org/showthread.php?t=61948&amp;amp;highlight=ORA-08177&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
위 링크와 함께 &lt;br /&gt;
&lt;br /&gt;
org.springframework.batch.core.repository.support.AbstractJobRepositoryFactoryBean의 &lt;br /&gt;
&lt;br /&gt;
소스를 살펴보면 &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;pre class=&quot;brush:java; highlight:[8]&quot;&gt;    public abstract class AbstractJobRepositoryFactoryBean implements FactoryBean, InitializingBean {
    private PlatformTransactionManager transactionManager;
    private ProxyFactory proxyFactory;
    private String isolationLevelForCreate = DEFAULT_ISOLATION_LEVEL;
    /**
     * Default value for isolation level in create* method.
     */
    private static final String DEFAULT_ISOLATION_LEVEL = &quot;ISOLATION_SERIALIZABLE&quot;;
    ......
&lt;/pre&gt;
&lt;font color=&quot;#000000&quot;&gt;
&lt;br /&gt;
Spring Batch의 isolationLevelForCreate 기본값은 &lt;strong&gt;ISOLATION_SERIALIZABLE&lt;/strong&gt;&amp;nbsp;임을 알 수 있다.&lt;br /&gt;
&lt;br /&gt;
이값을 jobRepository 빈의 설정에서 변경해 줌으로써 해결 할 수 있다&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml;highlight:[4]&quot;&gt;&amp;lt;bean id=&quot;jobRepository&quot;
&amp;nbsp; class=&quot;org.springframework.batch.core.repository.support.JobRepositoryFactoryBean&quot;
&amp;nbsp; p:dataSource-ref=&quot;batch.dataSource&quot; p:transactionManager-ref=&quot;transactionManager&quot; 
&amp;nbsp; p:isolationLevelForCreate=&quot;ISOLATION_DEFAULT&quot;/&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
위와같이 &amp;nbsp;Isolation Level을 Default로 바꾸어 주면 ORA-08177 에러는 더 이상 볼 수 없게 된다.&lt;br /&gt;
&lt;/font&gt;</description>
			<category>Spring-Batch</category>
			<category>Spring Batch</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/28</guid>
			<comments>http://odysseymoon.tistory.com/28#entry28comment</comments>
			<pubDate>Wed, 13 May 2009 19:36:49 +0900</pubDate>
		</item>
		<item>
			<title>산에서 보내는 편지</title>
			<link>http://odysseymoon.tistory.com/27</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs13.tistory.com/original/21/tistory/2008/10/10/22/22/48ef57312034c&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs13.tistory.com/image/21/tistory/2008/10/10/22/22/48ef57312034c&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;440&quot; width=&quot;660&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;&lt;FONT color=#993366&gt;&lt;FONT color=#006699&gt;지금 숲은 적빈(赤貧)입니다. &lt;br /&gt;
지녔던 모든 것을 내려놓은 채 맨몸입니다. &lt;br /&gt;
지금 숲은 적막입니다. &lt;br /&gt;
텃새들조차 목소리를 낮춘 채 날개를 접었습니다. &lt;br /&gt;
밤에는 적멸이고 아침에는 고요가 안개처럼 산을 덮고 있습니다. &lt;br /&gt;
적막 속에서 그대의 발자국 소리를 기다립니다. &lt;br /&gt;
그대 언제 이 숲에 오시렵니까?&lt;br /&gt;
&lt;br /&gt;......&lt;br /&gt;
&lt;br /&gt;청안한 공간이며 영성의 시간이기도 한 이 숲에 그대가 오신다면 &lt;br /&gt;
소나무다탁에 맑은 차 한 잔 우려내어 그대 앞에 내어놓겠습니다. &lt;br /&gt;
겨울바람 속에서 그대가 오시길 기다립니다.&lt;/FONT&gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;br /&gt;
- 도종환, &lt;FONT color=#ff7635&gt;'그대 언제 이 숲에 오시렵니까'&lt;/FONT&gt; 에서-</description>
			<category>photo</category>
			<category>사진</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/27</guid>
			<comments>http://odysseymoon.tistory.com/27#entry27comment</comments>
			<pubDate>Fri, 10 Oct 2008 22:29:59 +0900</pubDate>
		</item>
		<item>
			<title>조그만 사랑 노래</title>
			<link>http://odysseymoon.tistory.com/26</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs7.tistory.com/original/32/tistory/2008/08/09/01/44/489c77f75f1e6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs7.tistory.com/image/32/tistory/2008/08/09/01/44/489c77f75f1e6&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;800&quot; width=&quot;534&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;FONT color=#ff7635 size=3&gt;&lt;STRONG&gt;조그만 사랑 노래&lt;br /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;황동규&lt;br /&gt;&lt;br /&gt;&lt;FONT color=#ff9900&gt;어제를 동여맨 편지를 받았다&lt;br /&gt;늘 그대 뒤를 따르던&lt;br /&gt;길 문득 사라지고&lt;br /&gt;길 아닌 것들도 사라지고&lt;br /&gt;여기저기서 어린 날&lt;br /&gt;우리와 놀아 주던 돌들이&lt;br /&gt;얼굴을 가리고 박혀 있다&lt;br /&gt;사랑한다 사랑한다, 추위 환한 저녁하늘에&lt;br /&gt;찬찬히 깨어진 금들이 보인다&lt;br /&gt;성긴 눈 날린다&lt;br /&gt;땅 어디에 내려 앉지 못하고&lt;br /&gt;눈 뜨고 떨며 한없이 떠다니는&lt;br /&gt;몇 송이 눈.&lt;/FONT&gt;</description>
			<category>photo</category>
			<category>사진</category>
			<category>시</category>
			<category>황동규</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/26</guid>
			<comments>http://odysseymoon.tistory.com/26#entry26comment</comments>
			<pubDate>Sat, 09 Aug 2008 01:40:06 +0900</pubDate>
		</item>
		<item>
			<title>봄길</title>
			<link>http://odysseymoon.tistory.com/25</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs8.tistory.com/original/28/tistory/2008/08/09/01/41/489c7735691fa&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs8.tistory.com/image/28/tistory/2008/08/09/01/41/489c7735691fa&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;440&quot; width=&quot;660&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;&lt;FONT color=#008000&gt;봄길&lt;/FONT&gt;&lt;br /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;정호승&lt;br /&gt;&lt;br /&gt;&lt;FONT color=#99cc66&gt;길이 끝나는 곳에서도&lt;br /&gt;길이 있다&lt;br /&gt;길이 끝나는 곳에서도&lt;br /&gt;길이 되는 사람이 있다&lt;br /&gt;스스로 봄길이 되어&lt;br /&gt;끝없이 걸어가는 사람이 있다&lt;br /&gt;강물은 흐르다가 멈추고&lt;br /&gt;새들은 날아가 돌아오지 않고&lt;br /&gt;하늘과 땅 사이의 모든 꽃잎은 흩어져도&lt;br /&gt;보라&lt;br /&gt;사랑이 끝난 곳에서도&lt;br /&gt;사랑으로 남아 있는 사람이 있다&lt;br /&gt;스스로 사랑이 되어&lt;br /&gt;한없이 봄길을 걸어가는 사람이 있다&lt;/FONT&gt;</description>
			<category>photo</category>
			<category>사진</category>
			<category>시</category>
			<category>정호승</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/25</guid>
			<comments>http://odysseymoon.tistory.com/25#entry25comment</comments>
			<pubDate>Sat, 09 Aug 2008 01:36:24 +0900</pubDate>
		</item>
		<item>
			<title>푸른 나무</title>
			<link>http://odysseymoon.tistory.com/24</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfs9.tistory.com/original/30/tistory/2008/08/09/01/34/489c75ad9b0e6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfs9.tistory.com/image/30/tistory/2008/08/09/01/34/489c75ad9b0e6&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;440&quot; width=&quot;660&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;&lt;FONT color=#006699&gt;푸른 나무&lt;/FONT&gt;&lt;br /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;김용택&lt;br /&gt;&lt;br /&gt;&lt;FONT color=#177fcd&gt;나도 너 같은 봄을 갖고 싶다&lt;br /&gt;어둔 땅으로 뿌리를 뻗어내리며&lt;br /&gt;어둔 하늘로는 하늘 깊이 별을 부른다 너는&lt;br /&gt;나도 너의 새 이파리 같은 시를 쓰고 싶다&lt;br /&gt;큰 몸과 수많은 가지와 이파리들이&lt;br /&gt;세상의 어느 곳으로도 다 뻗어가&lt;br /&gt;너를 이루며 완성되는 찬란하고 눈부신 봄&lt;br /&gt;나도 너같이 푸르른 시인이 되어&lt;br /&gt;가난한 우리나라 봄길을 나서고 싶다&lt;/FONT&gt;</description>
			<category>photo</category>
			<category>김용택</category>
			<category>사진</category>
			<category>시</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/24</guid>
			<comments>http://odysseymoon.tistory.com/24#entry24comment</comments>
			<pubDate>Sat, 09 Aug 2008 01:32:16 +0900</pubDate>
		</item>
		<item>
			<title>[Linux] grep &amp; find 계열 명령어</title>
			<link>http://odysseymoon.tistory.com/21</link>
			<description>&lt;DIV style=&quot;FONT-SIZE: 21px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 21px; COLOR: #000000; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;1.grep 명령어&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;1.1 grep의 의미&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;grep : 파일 전체를 뒤져 정규표현식에 대응하는 모든 행들을 출력한다.&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;egrep : grep의 확장판으로, 추가 정규표현식 메타문자들을 지원한다.&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;fgrep : fixed grep 이나 fast grep으로 불리며, 모든 문자를 문자 그래도 취급한다. &lt;br /&gt;즉, 정규표현식의 메타문자도 일반 문자로 취급한다.&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;1.2 grep의 동작 방법&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;grep에서 사용하는 정규표현식 메타문자&lt;/SPAN&gt; 
&lt;P&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse&quot; height=462 cellSpacing=0 cellPadding=0 width=530 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=23&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;메타문자&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=23&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;기 &amp;nbsp;&amp;nbsp; 능&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=23&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;사용 예&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=23&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;사용 예 설명&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;^&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;행의 시작 지시자&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'^love'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;love로 시작하는 모든 행과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;$&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;행의 끝 지시자&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'love$'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;love로 끝나는 모든 행과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;하나의 문자와 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'l..e'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;l 다음에 두 글자가 나오고 e로 끝나는 문자열을 포함하는 행과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;*&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;선행문자와 같은 문자의 0개 혹은 임의개수와 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;' *love'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;0개 혹은 임의 개수의 공백 문자 후에 love로 끝나는 문자열을 포함한 행과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;[]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;[] 사이의 문자 집합중 하나와 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'[Ll]ove'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;love나 Love를 포함하는 행과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;[^ ]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;문자집합에 속하지 않는 한 문자와 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'[^A-K]love'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;A와 K 사이의 범위에 포함되지 않는 한 문자와 ove가 붙어있는 문자열과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;\&amp;lt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;단어의 시작 지시자&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'\&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;love로 시작하는 단어를 포함하는 행과 대응(vi,grep에서 지원)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;\&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;단어의 끝 지시자&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'love\&amp;gt;'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;love로 끝나는 단어를 포함하는 행과 대응&lt;/SPAN&gt; 
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(vi,grep에서 지원)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;\(..\)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;다음 사용을 위해 태그를 붙인다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'\(lov\)ing'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;지정된 부분을 태크1에 저장한다. 나중에 태그값을 참고하려면 \1을 쓴다. 맨 왼쪽부터 시작해 태그를 9개가지 쓸 수 있다. 왼쪽 예에서는 lov가 레지스터1에 저장되고 나중에 \1로 참고할 수 있다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;x\{m\}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;문자 x를 m번 반복한다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'o\{5\}'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;문자 o가 5회 연속적으로 나오는 모든 행과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;x\{m,\}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;적어도 m번 반복한다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'o\{5,\}'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;문자 o가 최소한 5회 반복되는 모든 행과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=64 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;x\{m,n\}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=131 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;m회 이상 n회 이하 반복한다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=75 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;o\{5,10\}'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=254 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;문자 o가 5회에서 10회 사이의 횟수로 연속적으로 나타나는 문자열과 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;grep의 옵션&lt;/SPAN&gt; &lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse&quot; height=58 cellSpacing=0 cellPadding=0 width=529 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=23&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;옵션&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=23&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;동작 설명&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-b&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;검색 결과의 각 행 앞에 검색된 위치의 블록 번호를 표시한다. 검색 내용이 디스크의 어디쯤 있는지 위치를 알아내는데 유용하다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-c&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;검색 결과를 출력하는 대신, 찾아낸 행의 총수를 출력한다.&amp;nbsp; (count)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-h&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;파일 이름을 출력하지 않는다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-i&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;대소문자를 구분 하지 않는다.(대문자와 소문자를 동일하게 취급). (ignore)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-l&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;패턴이 존재하는 파일의 이름만 출력한다.(개행문자로 구분) (list file)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-n&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;파일 내에서 행 번호를 함께 출력한다. (number)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-s&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;에러 메시지 외에는 출력하지 않는다. 종료상태를 검사할 때 유용하게 쓸 수 있다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-v&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;패턴이 존재하지 않는 행만 출력한다. (invert)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=37 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: center&quot;&gt;-w&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=489 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;패턴 표현식을 하나의 단어로 취급하여 검색한다. (word)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -n '^jack:' /etc/passwd&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(/etc/passwd 파일에서 jack을 찾는다. jack이 행의 맨 앞에 있으면 행 번호를 화면으로 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;1.3 grep과 종료 상태&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;grep은 파일 검색의 성공 여부를 종료 상태값으로 되돌려준다. &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;패턴을 찾으면 0, 패턴을 찾을 수 없으면 1, 팡리이 존재하지 않을 경우 2&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;sed,a자 등은 검색의 성공 여부에 대한 종료 상태값을 반환하지 않는다. 다만 구문 에러가 있을 경우에만 에러를 보고한다.&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 21px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 21px; COLOR: #000000; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;2. 정규표현식을 사용하는 grep의 예제&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep NW datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep NW d*&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(d로 시작하는 모든 파일에서 NW를 포함하는 모든 행을 찾는다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '^n' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(n으로 시작하는 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '4$' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(4로 끝나는 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep TB Savage datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(TB만 인자이고 Savage와 datafile은 파일 이름이다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep 'TB Savage' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(TB Savage를 포함하는 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '5\.' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(숫자 5, 마침표, 임의의 한 문자가 순서대로 나타나는 문자열이 포함된 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '\.5' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(.5가 나오는 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '^[we]' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(w나 e로 시작하는 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '[^0-9]' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(숫자가 아닌 문자를 하나라도 포함하는 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '[A-Z][A-Z] [A-Z]' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(대문자 2개와 공백 1개, 그리고 대문자 하나가 연이어 나오는 문자열이 포함된 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep 'ss* ' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(s가 한 번 나오고, 다시 s가 0번 또는 여러번 나온 후에 공백이 연이어 등장하는 문자열을 포함한 모든 행을 출력한다.) &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '[a-z]\{9\}' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(소문자가 9번 이상 반복되는 문자열을 포함하는 모든 행을 출력한다.) &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '\(3\)\.[0-9].*\1 *\1' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(숫자 3,마침표,임의의 한 숫자,임의 개수의 문자,숫자 3(태그),임의 개수의 탭 문자,숫자 3의 순서를 갖는 문자열이 포한된 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '\&lt;NORTH' datafile&lt; SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(north로 시작하는 단어가 포함된 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '\&lt;NORTH\&gt;' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(north라는 단어가 포함된 모든 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep '\&amp;lt;[a-z].*n\&amp;gt;' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(소문자 하나로 시작하고, 이어서 임의 개수의 여러 문자가 나오며, n으로 끝나는 단어가 포함된 모든 행을 출력한다. 여기서 .*는 공백을 포함한 임의의 문자들을 의미한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 21px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 21px; COLOR: #000000; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;3. grep에 옵션 사용&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -n '^south' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(행번호를 함께 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -i 'pat' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(대소문자를 구별하지 않게 한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -v 'Suan Chin' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(문자열 Suan Chin이 포함되지 않은 모든 행을 출력하게 한다. 이 옵션은 입력 파일에서 특정 내용의 입력을 삭제하는데 쓰인다.&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -v 'Suan Chin' datafile &amp;gt; black&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# mv black datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -l 'SE' *&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(패턴이 찾아진 파일의 행 번호 대신 단지 파일이름만 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -w 'north' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(패턴이 다른 단어의 일부가 아닌 하나의 단어가 되는 경우만 찾는다. northwest나 northeast 등의 단어가 아니라, north라는 단어가 포함된 행만 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# grep -i &quot;$LOGNAME&quot; datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(환경변수인 LOGNAME의 값을 가진 모든 행을 출력한다. 변수가 큰따옴표로 둘러싸여 있는 경우, 쉘은 변수의 값으로 치환한다. 작은따옴표로 둘러싸여 있으면 변수 치환이 일어나지 않고 그냥 $LOGNAME 이라는 문자로 출력된다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 21px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 21px; COLOR: #000000; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;4. egrep&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;egrep(extended grep) : grep에서 제공하지 않는 확장된 정규표현식 메타문자를 지원 &amp;nbsp;한&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;grep와 동일한 명령행 옵션을 지원한다.&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;egrep에서 지원하는 확장 메타문자&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;
&lt;TABLE style=&quot;BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse&quot; height=152 cellSpacing=0 cellPadding=0 width=536 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=49 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;메타문자&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=136 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;기능&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=81 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;사용 예&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=265 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;사용 예 설명&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=49 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;+&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=136 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;선행문자와 같은 문자의 1개 혹은 임의 개수와 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=81 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'[a-z]+ove'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=265 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;1개 이상의 소문자 뒤에 ove가 붙어있는 문자열과 대응. move,approve,love,behoove 등이 해당된다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=49 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=136 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;선행문자와 같은 문자의0개 혹은 1개와 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=81 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'lo?ve'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=265 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;l 다음에 0개의 문자 혹은 하나의 문자가 o가 나오는 문자열과 대응. love,lve 등이 해당된다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=49 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;a|b&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=136 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;a 혹은 b와 대응&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=81 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'love|hate'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=265 height=4&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;love 혹은 hate와 대응.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=49 height=32 rowSpan=2&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=136 height=32 rowSpan=2&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;정규표현식을 묶어준다&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=81 height=16&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'love(able|ly)'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=265 height=16&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;lovable 혹은 lovely와 대응. &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=81 height=16&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;'(ov)+'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-RIGHT: #000000 0.12mm solid; BORDER-TOP: #000000 0.12mm solid; FONT-SIZE: 10pt; BORDER-LEFT: #000000 0.12mm solid; BORDER-BOTTOM: #000000 0.12mm solid; FONT-FAMILY: 994268_10&quot; vAlign=center width=265 height=16&gt;
&lt;DIV style=&quot;FONT-SIZE: 12px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 19px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;ov가 한 번 이상 등장하는 문자열과 일치.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;4.1 egrep 예제&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# egrep 'NW|EA' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(NW나 EA가 포함된 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# egrep '3+' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(숫자 3이 한 번 이상 등장하는 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# egrep '2\.?[0-9]' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(숫자 2 다음에 마침표가 없거나 한 번 나오고, 다시 숫자가 오는 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# egrep ' (no)+' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(패턴 no가 한 번 이상 연속해서 나오는 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# egrep 'S(h|u)' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(문자 S 다음에 h나 u가 나오는 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# egrep 'Sh|u' datafile&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;(패턴 Sh나 u를 포함한 행을 출력한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style=&quot;FONT-SIZE: 21px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 21px; COLOR: #000000; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;5. 고정 grep 과 빠른 grep&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;fgrep : grep 명령어와 동일하게 동작한다. 다만 정규표현식 메타문자들을 특별하게 취급하지&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;않는다.&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;# fgrep '[A-Z]****[0-9]..$5.00' file&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #0000ff; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;([A-Z]****[0-9]..$5.00 이 포함된 행을 출력한다. 모든 문자들을 문자 자체로만 취급한다.)&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV style=&quot;FONT-SIZE: 13px; MARGIN: 0px; COLOR: #0000ff; TEXT-INDENT: 0px; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 21px; COLOR: #000000; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;6. find 명령어&lt;br /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;B&gt;find&lt;/B&gt; 명령의 일반적인 형태는 다음과 같다. &lt;br /&gt;&lt;B&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; find path expressions&lt;/B&gt; &lt;br /&gt;각각의 인수들의 의미는 다음과 같다. &lt;/DIV&gt;
&lt;DL&gt;
&lt;DT&gt;&lt;STRONG&gt;path&lt;/STRONG&gt; 
&lt;DD&gt;찾기 시작할 위치를 나타낸다. 예를들어, `.'은 현재 디렉토리를 나타내고, `/'은 루트 디렉토리부터 찾을 겻을 나타낸다. 
&lt;DT&gt;&lt;STRONG&gt;expression&lt;/STRONG&gt; 
&lt;DD&gt;특정 파일을 찾기 위한 여려가지 조건들을 표현하는 부분으로 &lt;B&gt;option, test, action, operator&lt;/B&gt; 등의 구문으로 구성되어진다. &lt;/DD&gt;&lt;/DL&gt;
&lt;P&gt;그럼, &lt;B&gt;expression&lt;/B&gt;의 각각의 구성 요소에 대하여 알아보자. &lt;B&gt;option&lt;/B&gt;은 &lt;B&gt;test&lt;/B&gt;와 상관 없이 항상 적용된다. &lt;B&gt;option&lt;/B&gt;의 방법에는 다음과 같은 것이 있다. &lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;-name&lt;/STRONG&gt; : 확장자가 txt 인 화일을 찾는다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BACKGROUND: #e0e0e0; MARGIN-LEFT: 36pt; WIDTH: 90%; mso-cellspacing: 1.5pt&quot; cellPadding=0 width=&quot;90%&quot; bgColor=#e0e0e0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; FONT-SIZE: 10pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt; FONT-FAMILY: 994268_10&quot;&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;find / -name '*.txt'&lt;/B&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;-perm&lt;/STRONG&gt; : 퍼미션이 666(-rw-rw-rw-)인 화일을 찾는다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BACKGROUND: #e0e0e0; MARGIN-LEFT: 36pt; WIDTH: 90%; mso-cellspacing: 1.5pt&quot; cellPadding=0 width=&quot;90%&quot; bgColor=#e0e0e0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; FONT-SIZE: 10pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt; FONT-FAMILY: 994268_10&quot;&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;find . -perm 666&lt;/B&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;-type&lt;/STRONG&gt; : 파일의 타입을 지정하여, 찾고자하는 파일을 찾는다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;타입의 종류는 다음과 같다&lt;SPAN lang=EN-US&gt;.&lt;br /&gt;b : 블록 특수 파일(block device)&lt;br /&gt;c : 캐릭터 특수 파일 (character deice)&lt;br /&gt;d : 디렉토리(directory)&lt;br /&gt;f : 일반파일(file)&lt;br /&gt;l : 심볼릭 링크(link)&lt;br /&gt;p : 파이프 (pipe)&lt;br /&gt;s : 소켓 (socket)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;현재 디렉토리 아래에 있는 서브디렉토리를 모두 찾는다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BACKGROUND: #e0e0e0; MARGIN-LEFT: 36pt; WIDTH: 90%; mso-cellspacing: 1.5pt&quot; cellPadding=0 width=&quot;90%&quot; bgColor=#e0e0e0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; FONT-SIZE: 10pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt; FONT-FAMILY: 994268_10&quot;&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;find . -type d&lt;/B&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;-atime&lt;/STRONG&gt; +n/-n/n : 최근 n일 이전에 액세스된 파일을 찾아준다.(accessed time)&lt;br /&gt;+n은 n일 또는 그보다 더 오래 전의 파일&lt;br /&gt;-n은 오늘 부터 n일 전까지의 파일&lt;br /&gt;n은 정확히 n일 전에 액세스되었음을 의미한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;시스템 전체에서 한 달 또는 그 이상의 기간동안 한번도 액세스하지 않은 디렉토리&lt;SPAN lang=EN-US&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BACKGROUND: #e0e0e0; MARGIN-LEFT: 36pt; WIDTH: 90%; mso-cellspacing: 1.5pt&quot; cellPadding=0 width=&quot;90%&quot; bgColor=#e0e0e0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; FONT-SIZE: 10pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt; FONT-FAMILY: 994268_10&quot;&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;find / -atime +30 -type d&lt;/B&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;-ctime&lt;/STRONG&gt; +n/-n/n : ctime은 파일의 퍼미션을 마지막으로 변경시킨 날짜를 의미한다. (changed time)&lt;br /&gt;+n은 n일 또는 그보다 더 오래 전의 파일&lt;br /&gt;-n은 오늘 부터 n일 전까지의 파일&lt;br /&gt;n은 정확히 n일 전에 수정되었음을 의미한다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;현재 디렉토리 아래에서 최근 일주일 동안 고친 파일&lt;SPAN lang=EN-US&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BACKGROUND: #e0e0e0; MARGIN-LEFT: 36pt; WIDTH: 90%; mso-cellspacing: 1.5pt&quot; cellPadding=0 width=&quot;90%&quot; bgColor=#e0e0e0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; FONT-SIZE: 10pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt; FONT-FAMILY: 994268_10&quot;&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;find . -ctime -7&lt;/B&gt;&amp;nbsp;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;-mtime&lt;/STRONG&gt; +n/-n/n : mtime은 파일내의 data를 마지막으로 변경한 날짜를 의미한다.(modified time)&lt;br /&gt;+n은 n일 또는 그보다 더 오래 전의 파일&lt;br /&gt;-n은 오늘 부터 n일 전까지의 파일&lt;br /&gt;n은 정확히 n일 전에 수정되었음을 의미한다.&lt;br /&gt;-cnewer 파일명 : '파일명' 부분에 적어준 파일보다 더 최근에 수정된 파일들을 찾아준다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;test.txt 화일이 생성된 이후의 화일을 찾는다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BACKGROUND: #e0e0e0; MARGIN-LEFT: 36pt; WIDTH: 90%; mso-cellspacing: 1.5pt&quot; cellPadding=0 width=&quot;90%&quot; bgColor=#e0e0e0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; FONT-SIZE: 10pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt; FONT-FAMILY: 994268_10&quot;&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;find . -cnewer test.txt -print&lt;/B&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;-user&lt;/STRONG&gt; 유저네임 : '유저네임' 부분에 지정한 유저 소유의 파일을 찾아준다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;nalabi 라는 계정의 화일을 찾아준다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style=&quot;BACKGROUND: #e0e0e0; MARGIN-LEFT: 36pt; WIDTH: 90%; mso-cellspacing: 1.5pt&quot; cellPadding=0 width=&quot;90%&quot; bgColor=#e0e0e0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style=&quot;PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; FONT-SIZE: 10pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt; FONT-FAMILY: 994268_10&quot;&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;find / -user nalabi&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;그외 자주 쓰이지 않지만 추가 옵션으로는 아래와 같다.&lt;br /&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-maxdepth n&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;0이 아닌 정수값으로 경로 깊이를 지정하여 검색을 할 경우에 사용한다. 예를들어, '&lt;/SPAN&gt;&lt;TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-maxdepth 1&lt;/SPAN&gt;&lt;/TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;'은 시작위치로 지정한 디렉토리만 검색하고 하위 디렉토리는 찾지 않는다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;B&gt;-mindepth&lt;/B&gt; 옵션은 반대로 동작한다. 즉, 지정한 숫자만큼의 깊이부터 그 하위 디렉토리를 검색한다. (GNU find 버전) &lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;br /&gt;-follow&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;심볼릭 링크된 디렉토리도 검색을 할 경우에 사용한다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-mount&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;현재의 파일 시스템과 동일한 타입의 파일 시스템에서만 검색을 할 경우에 사용한다&lt;SPAN lang=EN-US&gt;. &lt;br /&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;test&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;에는 다음과 같은 방법들이 있으며&lt;SPAN lang=EN-US&gt;, &lt;B&gt;test&lt;/B&gt;에 사용하는 인수에는 보다 큰 수를 의미하는 `'나, 보다 작은 수를 의미하는 `'를 함께 사용할 수 있다. 인수에 아무 연산자가 없을 경우에는 정확히 그 인수 값을 의미한다. &lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-group&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;특정 그룹 소유의 파일들을 찾을 경우에 사용한다&lt;SPAN lang=EN-US&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-nouser&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;소유자가 없는 파일을 찾을 경우에 사용한다&lt;SPAN lang=EN-US&gt;. 즉, &lt;/SPAN&gt;&lt;TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;/etc/passwd&lt;/SPAN&gt;&lt;/TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; 파일에 없는 소유자의 파일을 찾을 경우에 사용한다. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-nogroup&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;올바른 그룹의 소유가 아닌 파일을 찾을 경우에 사용한다&lt;SPAN lang=EN-US&gt;. 즉, &lt;/SPAN&gt;&lt;TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;/etc/groups&lt;/SPAN&gt;&lt;/TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; 파일에 없는 그룹의 소유인 파일을 찾을 경우에 사용한다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;newer file1 file2&lt;br /&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;`&lt;B&gt;file1&lt;/B&gt;' 보다는 이후에 `&lt;B&gt;file2&lt;/B&gt;' 보다는 이전에 생성되거나 변형된 파일들을 찾을 경우에 사용한다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-size n[bckw]&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;크기가 &lt;B&gt;&lt;SPAN lang=EN-US&gt;n&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US&gt; 유닛(unit)인 파일을 찾을 경우에 사용한다. 유닛은 기본 설정(`&lt;B&gt;b&lt;/B&gt;''와 함께 사용한 경우와 동일)인 512 바이트의 블럭, `&lt;B&gt;c&lt;/B&gt;'를 사용할 경우에는 1 바이트, `&lt;B&gt;k&lt;/B&gt;'를 사용할 경우에는 킬로바이트, `&lt;B&gt;w&lt;/B&gt;'를 사용할 경우에는 2 바이트의 워드 크기를 나타낸다. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-empty&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;비어있는 파일이나 디렉토리를 찾을 경우에 사용한다&lt;SPAN lang=EN-US&gt;. (GNU find 버전) &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-regex&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;정규표현식&lt;SPAN lang=EN-US&gt;(regular expression)을 이용하여 파일들을 찾을 경우에 사용한다. `&lt;B&gt;-iregex&lt;/B&gt;'는 대소문자를 구별하지 않을 경우에 사용한다. (GNU find 버전) &lt;br /&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;action&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;은 &lt;B&gt;&lt;SPAN lang=EN-US&gt;test&lt;/SPAN&gt;&lt;/B&gt;에서의 조건과 일치하는 파일들에 대해 수행할 작업을 명시하는 것으로 다음과 같은 방법들이 있다&lt;SPAN lang=EN-US&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-print&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;찾은 파일들을 표준출력&lt;SPAN lang=EN-US&gt;(stdout)으로 출력한다. 기본으로 설정되어 있다. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-fprint file&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;찾은 파일들을&lt;SPAN lang=EN-US&gt; `&lt;B&gt;file&lt;/B&gt;'로 출력한다. `&lt;B&gt;file&lt;/B&gt;'이 존재 하지 않을 경우에는 새로 생성되고, 존재할 경우에는 기존의 파일은 없어진다. (GNU find 버전) &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-exec&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;파일을 찾았을 경우&lt;SPAN lang=EN-US&gt;, 찾은 파일들에 대해 특정 명령을 수행 할 때 사용한다. 일반적으로 `&lt;/SPAN&gt;&lt;TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-exec command {} ;&lt;/SPAN&gt;&lt;/TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;'의 형식을 취한다. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-ok&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;&lt;B&gt;-exec&lt;/B&gt;와 동일한 작업을 한다. 다른 점은, 명령을 실행할 때마다 실행 의사를 물어본다. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-ls&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;`&lt;/SPAN&gt;&lt;TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;ls -dils&lt;/SPAN&gt;&lt;/TT&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;' 형식으로 찾은 파일들의 정보를 출력할때 사용한다. &lt;br /&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;-fls file&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt; &lt;br /&gt;`&lt;B&gt;ls&lt;/B&gt;'와 동일하게 동작하며 결과를 `&lt;B&gt;file&lt;/B&gt;'로 출력한다.&lt;br /&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;operator&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;는 &lt;B&gt;&lt;SPAN lang=EN-US&gt;test&lt;/SPAN&gt;&lt;/B&gt;에서 사용한 옵션들을 조합하여 조건식을 만들고자 할때 사용는 것으로 다음과 같은 방법들이 있다&lt;SPAN lang=EN-US&gt;. (설명 순서는 우선순위(precedence)에 따른다.)&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;[예제]&lt;/STRONG&gt; &lt;br /&gt;자신의 홈 디렉토리에서 확장자가 '.txt'인 파일을 찾을 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find &amp;nbsp; -name &quot;*.txt'' -print&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;현재 디렉토리 밑에서 첫글자가 영어 대문자인 모든 파일을 찾을 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find . -name &quot;[A-Z]*'' -print&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;'/usr/local'에서 첫 두글자는 영어 소문자이고 세번째 한자리는 숫자로 시작하는 이름을 가진 파일을 찾을 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find /usr/local -name &quot;[a-z][a-z][0-9]*'' -print&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;확장자가 .txt 인 파일을 찾으면서 현재 디렉토리와 한 단계 밑의 디렉토리에서만 파일을 찾을 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find &amp;nbsp; -maxdepth 2 -name &quot;*.txt'' -print&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;현재 디렉토리 밑에서 `zzang'이라는 이름을 가진 사용자 소유의 파일을 찾을 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find . -user zzang -print&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;시스템에서 소유자나 그룹이 없는 파일을 찾을 경우 (크래커가 만들어 놓은 파일일 경우도 있음) &lt;br /&gt;&lt;FONT color=#008100&gt;$ find / -nouser -o -nogroup -print&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;자신의 홈 디렉토리에서 최근 3일 동안 변경된 파일들을 찾을 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find . -mtime -3 -print&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;'/tmp'에서 최근 5일 동안 변경되지 않은 파일들을 찾아서 삭제할 경우 (파일을 삭제할 때마다 삭제할 것인가를 물어보도록) &lt;br /&gt;&lt;FONT color=#008100&gt;$ find . -mtime +5 -print -ok rm {} ;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;현재 디렉토리 밑에 있는 모든 포스트 스크립트 파일(.ps)을 찾아서 gzip으로 압축을 하고 그 목록을 result.txt라는 파일에 저정할 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find . -name &quot;*.ps&quot; -fprint result.txt -exec gzip {} ;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;크랙커의 침입이 의심스러워 자신의 시스템에서 suid와 guid가 설정된 일반 파일들을 찾아서 권한을 확인할 경우 &lt;br /&gt;&lt;FONT color=#008100&gt;$ find / -type f -perm +6000 -print -ls&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림&quot;&gt;&lt;SPAN lang=EN-US&gt;시스템 관리의 실수로 일반 사용자가 쓰기 권한을 갖도록 설정되어 있는 파일을 찾아서 실행 권한을 없애는 경우 (단, 링크 파일은 제외함)&lt;br /&gt;&lt;FONT color=#008100&gt;$ find / -perm +2 ! -type l -print -exec chmod o-w {} ;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 21px; COLOR: #000000; LINE-HEIGHT: 34px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;7. 기타 활용&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 13px; COLOR: #000000; LINE-HEIGHT: 21px; FONT-FAMILY: '굴림'; TEXT-ALIGN: justify&quot;&gt;
&lt;P&gt;&lt;STRONG&gt;현재 디렉토리에서 가장 큰 파일을 찾기&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#008000&gt;$ find &amp;nbsp;. &amp;nbsp;-type &amp;nbsp;f &amp;nbsp;| xargs &amp;nbsp;du &amp;nbsp;-s &amp;nbsp;| sort &amp;nbsp;-n &amp;nbsp;| &amp;nbsp;tail &amp;nbsp;-1&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;&lt;/STRONG&gt;위 한 줄의 명령어는 현재 디렉토리에 서브 디렉토리 포함하여 가장 큰 파일을 하나 찾아서 이를 출력하라는 의미이다.&lt;br /&gt;간혹, 파일 시스템의 FULL이 되어서 가장 큰 파일을 찾으려고 할 경우 아주 유용하다.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff7635 size=2&gt;*&amp;nbsp; 현재 디렉토리에서 확장자가 cpp 이고 string 이란 문자열이 포함된 파일 검색&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#177fcd size=2&gt;$ find / -name &quot;*.cpp&quot; -print -exec grep string {} \&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff7635 size=2&gt;*&amp;nbsp; 현재 디렉토리 위치에서 하위디렉토리를 포함하여 string 이란 문자열을 포함한 파일 &lt;/FONT&gt;&lt;FONT color=#ff7635 size=2&gt;검색&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT color=#177fcd&gt;$ find . -type f | xargs grep &quot;string&quot;&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;이 방법은 파일 이름에 공백이 들어갈 경우 문제가 생길 수 있습니다.&lt;br /&gt;공백이 포함된 화일은 아래와 같이 찾아보시면 될거에요 &lt;br /&gt;&lt;FONT color=#177fcd&gt;$ find . -type f -print0 | xargs -0 grep &quot;string&quot;&lt;/FONT&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff7635 size=2&gt;* 현재 디렉토리내에서 확장자가 cpp 이고 string 문자열을 포함하는 파일 검색&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;파일이름과 내용을 보여주려면..&lt;br /&gt;&lt;FONT color=#177fcd&gt;$ grep string `find . -name \*\.cpp`&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;파일이름만 보여주려면..&lt;br /&gt;&lt;FONT color=#177fcd&gt;$ grep -l string `find . -name \*\.cpp`&lt;/FONT&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;| (파이프, pipe, 수직바) 의 뜻은&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&quot;왼쪽 프로그램의 &lt;FONT color=#ff0000&gt;실행 결과를&lt;/FONT&gt; 오른쪽 프로그램의 입력으로 공급하라&quot; 입니다.&lt;/P&gt;
&lt;P&gt;파이프 왼쪽 오른쪽 프로그램이 동시에 실행된다는 것은 엄밀히 말하면 틀린얘기입니다.&lt;/P&gt;
&lt;P&gt;왼쪽 프로그램이 실행되고 그 결과가 output 되면 오른쪽 프로그램의 input으로 공급되는 것입니다. &lt;U&gt;동시가 아닌 순차적인 개념입니다.&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;예를 들면,&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&quot;검색 프로그램의 출력을 정렬 프로그램으로 파이프시킬 수 있고 다시 그 결과를 프린팅 프로그램으로 파이프시키거나 파일로 리다이렉트해서 저장할 수도 있다.&quot;&lt;/P&gt;&lt;br /&gt;
&lt;P&gt;grep 은 가장 유용한 툴 중의 하나입니다.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;grep 의 주된 기능은&lt;/STRONG&gt; 정규표현식에 매칭되는 문자열을 찾아서 해당 라인만을 출력하는 것입니다.&lt;/P&gt;
&lt;P&gt;쉽게 말해, 출력결과(or 입력)에서 찾는 문자열이 있는 라인만 보여주는 기능을 합니다.&lt;/P&gt;
&lt;P&gt;egrep은 grep의 확장판인데 두개이상의 문자열을 검색합니다.&lt;/P&gt;
&lt;P&gt;# netatte -ap | egrep &quot;aaa|bbb|ccc&quot;&lt;/P&gt;
&lt;P&gt;하면&amp;nbsp; netstate의 결과물중 aaa 혹은 bbb 혹은 ccc가 있는 라인을 출력하는거죠&lt;/P&gt;
&lt;P&gt;즉 or 검색이 가능합니다.&lt;/P&gt;&lt;br /&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#333333&gt;grep 하위 디렉토리 까지 조회시 -r 옵션 안될경우&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;보통 리눅스에서는 grep -r 하위 디렉토리까지 파일을 검색 할수 있게 recursive 옵션을 지원하지만 전통? grep에는 -r 옵션이 없는지 AIX ,HP,Solaris 에서는 -r 옵션을 사용 할수 없다. &lt;/P&gt;
&lt;P&gt;그렇다면 여기서 find 와 xargs 를 이용하여 -r 옵션과 같은 실행을 할수 있는 방법은 아래와 같다.&lt;/P&gt;
&lt;P&gt;ex) dir : /home/search/cgi-src&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1. -r 옵션 이용 : grep -r &quot;include&quot;&amp;nbsp; /home/search/cgi-src&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2. &amp;nbsp;find 와 xargs&amp;nbsp; 이용 : find /home/search/cgi-src | xargs grep &quot;include&quot; &lt;/P&gt;
&lt;P&gt;뭐 여기서 xargs는&amp;nbsp; 간단하게 말해 파이프 '|' 를 통해 입력 받아서 xargs 뒤에 있는 명령어(grep)한테 파라미터를 주는것.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;* xargs 활용 (여러파일 동시에 백업하기)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;예를들어 test.cpp &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; test1.cpp &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; test2.cpp&lt;/P&gt;
&lt;P&gt;이런식으로 다수의 파일이 있을떄 일일히 cp 명령어로 .bak 파일을 만드려면 번거로울 것이다.&lt;/P&gt;
&lt;P&gt;한번에 처리할 수 있는 방법이 있다.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;$ ls test* | xargs -t -i cp {} {}.bak&lt;/FONT&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;출처 : &lt;A href=&quot;http://yonghwa.tistory.com/115&quot;&gt;http://yonghwa.tistory.com/115&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
			<category>programming</category>
			<category>Linux</category>
			<category>명령어</category>
			<author>달빛방랑</author>
			<guid>http://odysseymoon.tistory.com/21</guid>
			<comments>http://odysseymoon.tistory.com/21#entry21comment</comments>
			<pubDate>Wed, 30 Jul 2008 11:01:58 +0900</pubDate>
		</item>
	</channel>
</rss>
