?? ch06_02.htm
字號:
<html><head><title>Metacharacters, Listed by Unix Program (UNIX in a Nutshell: System V Edition)</title><link rel="stylesheet" type="text/css" href="../style/style1.css" /><meta name="DC.Creator" content="Arnold Robbins" /><meta name="DC.Format" content="text/xml" scheme="MIME" /><meta name="DC.Language" content="en-US" /><meta name="DC.Publisher" content="O'Reilly & Associates, Inc." /><meta name="DC.Source" scheme="ISBN" content="1-56592-427-4" /><meta name="DC.Subject.Keyword" content="stuff" /><meta name="DC.Title" content="UNIX in a Nutshell: System V Edition" /><meta name="DC.Type" content="Text.Monograph" /></head><body bgcolor="#ffffff"><img src="gifs/smbanner.gif" usemap="#banner-map" border="0" alt="Book Home" /><map name="banner-map"><area shape="rect" coords="1,-2,616,66" href="index.htm" alt="Book Title" /><area shape="rect" coords="629,-11,726,25" href="jobjects/fsearch.htm" alt="Search this book" /></map><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch06_01.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td align="center" valign="top" width="228" /><td align="right" valign="top" width="228"><a href="ch06_03.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr></table></div><h2 class="sect1">6.2. Metacharacters, Listed by Unix Program</h2><p><a name="IXT-6-123093" /><a name="IXT-6-123094" /><a name="IXT-6-123095" /><a name="IXT-6-123096" /><a name="IXT-6-123097" /><a name="IXT-6-123098" /><a name="IXT-6-123099" />Some metacharacters are valid for one program but not for another.Those that are available to a Unix program are marked by a bullet(<img src="figs/bull.gif" alt="Figure " />) in <a href="ch06_02.htm#unut-ch-6-tab-1">Table 6.1</a>.Items marked with a “P” are specified by POSIX; double-check your system's version.(On Solaris, the versions in <tt class="literal">/usr/xpg4/bin</tt>accept these items.)Full descriptions areprovided after the table.</p><a name="unut-ch-6-tab-1" /><h4 class="objtitle">Table 6.1. Unix Metacharacters</h4><table border="1" cellpadding="3"><tr><th><em class="emphasis">Symbol</em></th><th><em class="emphasis">ed</em></th><th><em class="emphasis">ex</em></th><th><em class="emphasis">vi</em></th><th><em class="emphasis">sed</em></th><th><em class="emphasis">awk</em></th><th><em class="emphasis">grep</em></th><th><em class="emphasis">egrep</em></th><th><em class="emphasis">Action</em></th></tr><tr><td><tt class="literal">.</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Match any character.</p></td></tr><tr><td><tt class="literal">*</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Match zero or more preceding.</p></td></tr><tr><td><tt class="literal">^</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Match beginning of line/string.</p></td></tr><tr><td><tt class="literal">$</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Match end of line/string.</p></td></tr><tr><td><tt class="literal">\</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Escape following character.</p></td></tr><tr><td><tt class="literal">[ ]</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Match one from a set.</p></td></tr><tr><td><tt class="literal">\( \)</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><p>Store pattern for later replay.<a href="#FOOTNOTE-7">[7]</a></p></td></tr><tr><td><tt class="literal">\</tt><em class="replaceable"><tt>n</tt></em></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><p>Replay subpattern in match.</p></td></tr><tr><td><tt class="literal">{ }</tt></td><td> </td><td> </td><td> </td><td> </td><td><img src="figs/bull.gif" alt="Figure " /> P</td><td> </td><td><img src="figs/bull.gif" alt="Figure " /> P</td><td><p>Match a range of instances.</p></td></tr><tr><td><tt class="literal">\{ \}</tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><p>Match a range of instances.</p></td></tr><tr><td><tt class="literal">\< \></tt></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td> </td><td> </td><td> </td><td><p>Match word's beginning or end.</p></td></tr><tr><td><tt class="literal">+</tt></td><td> </td><td> </td><td> </td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Match one or more preceding.</p></td></tr><tr><td><tt class="literal">?</tt></td><td> </td><td> </td><td> </td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Match zero or one preceding.</p></td></tr><tr><td><tt class="literal">|</tt></td><td> </td><td> </td><td> </td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Separate choices to match.</p></td></tr><tr><td><tt class="literal">( )</tt></td><td> </td><td> </td><td> </td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td> </td><td><img src="figs/bull.gif" alt="Figure " /></td><td><p>Group expressions to match.</p></td></tr></table>See <a href="ch06_02.htm#unut-ch-6-tab-2">Table 6-2</a>.</p></blockquote><p>Note thatin <tt class="literal">ed</tt>, <tt class="literal">ex</tt>,<tt class="literal">vi</tt>,and <tt class="literal">sed</tt>,you specify both a search pattern (on the left)and a replacement pattern (on the right). The metacharacters in <a href="ch06_02.htm#unut-ch-6-tab-1">Table 6.1</a>are meaningful only in a search pattern.</p><p>In <tt class="literal">ed</tt>, <tt class="literal">ex</tt>,<tt class="literal">vi</tt>,and <tt class="literal">sed</tt>,themetacharacters in <a href="ch06_02.htm#unut-ch-6-tab-2">Table 6-2</a> are valid only in a replacement pattern.</p><h4><a name="unut-ch-6-tab-2">Table 6.2.</a> Metacharacters in Replacement Patterns</h4><table border="1" cellpadding="3"><tr><th><em>Symbol</em></th><th><em>ex</em></th><th><em>vi</em></th><th><em>sed</em></th><th><em>ed</em></th><th><em>Action</em></th></tr><tr><td><literal>\</literal></td><td>•</td><td>•</td><td>•</td><td>•</td><td>Escape following character.</td></tr><tr><td><literal>\</literal><replaceable>n</replaceable></td><td>•</td><td>•</td><td>•</td><td>•</td><td>Text matching pattern stored in <literal>\( \)</literal>.</td></tr><tr><td><literal>&</literal></td><td>•</td><td>•</td><td>•</td><td>•</td><td>Text matching search pattern.</td></tr><tr><td><literal>~</literal></td><td>•</td><td>•</td><td>&</td><td>&</td><td>Reuse previous replacement pattern.</td></tr><tr><td><literal>%</literal></td><td>&</td><td>&</td><td>&</td><td>•</td><td>Reuse previous replacement pattern.</td></tr><tr><td><literal>\u \U</literal></td><td>•</td><td>•</td><td>&</td><td>&</td><td>Change character(s) to uppercase.</td></tr><tr><td><literal>\l \L</literal></td><td>•</td><td>•</td><td>&</td><td>&</td><td>Change character(s) to lowercase.</td></tr><tr><td><literal>\E</literal></td><td>•</td><td>•</td><td>&</td><td>&</td><td>Turn off previous <literal>\U</literal> or <literal>\L</literal>.</td></tr><tr><td><literal>\e</literal></td><td>•</td><td>•</td><td>&</td><td>&</td><td>Turn off previous <literal>\u</literal> or <literal>\l</literal>.</td></tr></table><p><hr width="684" align="left" /><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch06_01.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td align="center" valign="top" width="228"><a href="index.htm"><img src="../gifs/txthome.gif" alt="Home" border="0" /></a></td><td align="right" valign="top" width="228"><a href="ch06_03.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr><tr><td align="left" valign="top" width="228">6. Pattern Matching</td><td align="center" valign="top" width="228"><a href="index/index.htm"><img src="../gifs/index.gif" alt="Book Index" border="0" /></a></td><td align="right" valign="top" width="228">6.3. Metacharacters</td></tr></table></div><hr width="684" align="left" /><img src="../gifs/navbar.gif" usemap="#library-map" border="0" alt="Library Navigation Links" /><p><p><font size="-1"><a href="copyrght.htm">Copyright © 2003</a> O'Reilly & Associates. All rights reserved.</font></p><map name="library-map"><area shape="rect" coords="1,0,88,96" href="../index.htm"><area shape="rect" coords="90,0,165,96" href="../upt/index.htm"><area shape="rect" coords="168,1,253,107" href="../mac/index.htm"><area shape="rect" coords="255,0,335,97" href="../korn/index.htm"><area shape="rect" coords="337,0,415,109" href="../unixnut/index.htm"><area shape="rect" coords="417,0,512,122" href="../sedawk/index.htm"><area shape="rect" coords="514,0,605,105" href="../lunix/index.htm"><area shape="rect" coords="611,2,694,121" href="../vi/index.htm"></map></body></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -