﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-一叶笑天-随笔分类-Shell技术</title><link>http://www.blogjava.net/zjrstar/category/31936.html</link><description> 雄关漫道真如铁,
 而今迈步从头越。
 从头越,
 苍山如海,
 残阳如血。 </description><language>zh-cn</language><lastBuildDate>Wed, 09 Jul 2008 12:15:17 GMT</lastBuildDate><pubDate>Wed, 09 Jul 2008 12:15:17 GMT</pubDate><ttl>60</ttl><item><title>UNIX Shells by Example(Fourth Edition)读书笔记-3.正则表达式</title><link>http://www.blogjava.net/zjrstar/archive/2008/07/09/213559.html</link><dc:creator>一叶笑天</dc:creator><author>一叶笑天</author><pubDate>Wed, 09 Jul 2008 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/zjrstar/archive/2008/07/09/213559.html</guid><wfw:comment>http://www.blogjava.net/zjrstar/comments/213559.html</wfw:comment><comments>http://www.blogjava.net/zjrstar/archive/2008/07/09/213559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zjrstar/comments/commentRss/213559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zjrstar/services/trackbacks/213559.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">正则表达式元字符</span></p>
<table class="MsoNormalTable" style="border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; border-left: windowtext 1pt solid; border-bottom: windowtext 1pt solid; mso-cellspacing: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-border-insideh: .75pt solid windowtext; mso-border-insidev: .75pt solid windowtext" cellspacing="0" cellpadding="0" border="1">
    <thead>
        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left">元字符<strong></strong></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><strong><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">功能</span></strong></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><strong><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">例子</span></strong></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><strong><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配内容</span></strong></p>
            </td>
        </tr>
    </thead>
    <tbody>
        <tr style="mso-yfti-irow: 1">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">^<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><a name="ch03index24"></a><a name="ch03index23"></a><a name="ch03index22"></a><a name="ch03index21"></a><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">行起始锚<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/^love/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配所有以<span lang="EN-US">love</span>开始的行<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 2">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">$<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">行结束锚<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/love$/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配所有以<span lang="EN-US">love</span>结束的行<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 3">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">.<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配单字符<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/l..e/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配行中包含<span lang="EN-US">l</span>紧跟两个字符然后是<span lang="EN-US">e</span>的行<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 4">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">*<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配<span lang="EN-US">0</span>个或者多个前导字符<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/ *love/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配<span lang="EN-US">0</span>个或者多个空格，紧跟<span lang="EN-US">love<o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 5">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">[ ]<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配集合中的一个<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/[Ll]ove/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配行中包含<span lang="EN-US">love </span>或者<span lang="EN-US">Love<o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 6">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">[x&#8211;y]<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配一个范围集合中的一个字符<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/[A&#8211;Z]ove/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配字符从<span lang="EN-US">A-Z</span>紧跟着<span lang="EN-US">ove<o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 7">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">[^ ]<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配一个不在集合中的字符<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/[^A&#8211;Z]/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配任意字符不在<span lang="EN-US">A </span>和<span lang="EN-US">Z</span>之间<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 8">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">\<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><a name="ch03index29"></a><a name="ch03index28"></a><a name="ch03index27"></a><a name="ch03index26"></a><a name="ch03index25"></a><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">转义一个元字符<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/love\./<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配包含<span lang="EN-US">love</span>，紧跟着<span lang="EN-US">.<o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 9">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top" colspan="4">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">其他的元字符支持<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 10">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">\&lt;<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">单词开始锚<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/\&lt;love/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配行中含有单词以<span lang="EN-US">love</span>开始<span lang="EN-US"> (supported by vi and grep)<o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 11">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">\&gt;<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">单词结束锚<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/love\&gt;/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">匹配行包含单词以<span lang="EN-US">love</span>结束<span lang="EN-US"> (supported by vi and grep)<o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 12">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">\(..\)<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">标签匹配<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">/\(love\)able \1er/<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">可以使用到<span lang="EN-US">9</span>个标签<span lang="EN-US">, </span>起始部分是模式。例如<span lang="EN-US">, </span>模式<span lang="EN-US">love</span>被保存为标签<span lang="EN-US">1, </span>被后面引用为<span lang="EN-US">\1</span>。在这个例子中，搜索模式包含<span lang="EN-US">lovable</span>后紧跟<span lang="EN-US">lover (supported by sed, vi, and grep)<o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 13; mso-yfti-lastrow: yes">
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">x\{m\} or <o:p></o:p></span></p>
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><o:p>&nbsp;</o:p></span></p>
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">x\{m,\} or <o:p></o:p></span></p>
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><o:p>&nbsp;</o:p></span></p>
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">x\{m,n\}<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">表示字母<span lang="EN-US">x</span>出现<span lang="EN-US">m</span>次<span lang="EN-US"><o:p></o:p></span></span></p>
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">表示字母<span lang="EN-US">x</span>出现至少<span lang="EN-US">m</span>次<span lang="EN-US"><o:p></o:p></span></span></p>
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">表示字母<span lang="EN-US">x</span>至少出现<span lang="EN-US">m</span>次，不超过<span lang="EN-US">n</span>次<span lang="EN-US"><o:p></o:p></span></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">o\{5,10\}<o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 3.75pt; border-top: windowtext 1pt solid; padding-left: 3.75pt; padding-bottom: 3.75pt; border-left: windowtext 1pt solid; padding-top: 3.75pt; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" valign="top">
            <p class="MsoNormal" style="text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">如果一行中含有连续出现<span lang="EN-US">5-10</span>次<span lang="EN-US">o</span>字母<span lang="EN-US"> (supported by vi and grep)<o:p></o:p></span></span></p>
            </td>
        </tr>
    </tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.1</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">/love/</span></span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模式</span><span lang="EN-US">love</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以匹配自己和作为其他词的一部分匹配，例如</span><span lang="EN-US">lovely</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span><span lang="EN-US">gloves</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US">clover</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.2</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">/^love/</span></span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">起始锚，匹配只能匹配以</span><span lang="EN-US">love</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开始的词。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.3</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">/love$/</span></span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结束锚，匹配以</span><span lang="EN-US">love</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结束的词。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.4</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">/l.ve/</span></span></pre>
<p class="MsoNormal"><span class="docemphstrong"><span lang="EN-US">.</span></span><span class="docemphstrong"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只能匹配一个字符。</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.5</span></p>
<p class="MsoNormal"><span class="docemphstrong"><span lang="EN-US">/o*ve/<o:p></o:p></span></span></p>
<p class="MsoNormal"><span class="docemphstrong"><span lang="EN-US">*</span></span><span class="docemphstrong"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匹配</span><span lang="EN-US">0</span></span><span class="docemphstrong"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到多个字符，比如</span></span><tt><span lang="EN-US" style="font-size: 12pt">love</span></tt><span lang="EN-US">, </span><tt><span lang="EN-US" style="font-size: 12pt">loooove</span></tt><span lang="EN-US">, </span><tt><span lang="EN-US" style="font-size: 12pt">lve<o:p></o:p></span></tt></p>
<p class="MsoNormal"><tt><span style="font-size: 12pt">例子<span lang="EN-US">3.6<o:p></o:p></span></span></tt></p>
<pre><span class="docemphstrong"><span lang="EN-US">/[Ll]ove/</span></span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匹配</span><span lang="EN-US">Love</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US">love</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.7</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">/ove[a-z]/</span></span></pre>
<p class="MsoNormal"><span lang="EN-US">[a-z]</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的任何一个字符都可以匹配</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.8</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">/ove[^a-zA-Z0-9]/</span></span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匹配</span><span lang="EN-US">ove</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后跟的字符不在</span><span lang="EN-US">a-z,A-Z,0-9</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的字符</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.9</span></p>
<p class="MsoNormal"><tt><span lang="EN-US" style="font-size: 12pt">/^[A&#8211;Z]..$/<o:p></o:p></span></tt></p>
<p class="MsoNormal"><tt><span style="font-size: 12pt">匹配起始为<span lang="EN-US">[A-Z]</span>之间的字母，跟随两个任意字符，紧接着是一个新行。<span lang="EN-US"><o:p></o:p></span></span></tt></p>
<p class="MsoNormal"><tt><span lang="EN-US" style="font-size: 12pt">/^[A&#8211;Z][a&#8211;z ]*3[0&#8211;5]/<o:p></o:p></span></tt></p>
<p class="MsoNormal"><tt><span style="font-size: 12pt">匹配以大写字母开始，跟着<span lang="EN-US">0</span>个或者多个小写字母或空格，跟随着数字<span lang="EN-US">3</span>和另外一个在<span lang="EN-US">0-5</span>之间的数字。<span lang="EN-US"><o:p></o:p></span></span></tt></p>
<p class="MsoNormal"><tt><span lang="EN-US" style="font-size: 12pt">/[a&#8211;z]*\ ./<o:p></o:p></span></tt></p>
<p class="MsoNormal"><tt><span style="font-size: 12pt">匹配包含<span lang="EN-US">0</span>个或多个小写字母，跟着<span lang="EN-US">.<o:p></o:p></span></span></tt></p>
<p class="MsoNormal"><tt><span lang="EN-US" style="font-size: 12pt">/^ *[A&#8211;Z][a&#8211;z][a&#8211;z]$/<o:p></o:p></span></tt></p>
<p class="MsoNormal"><tt><span style="font-size: 12pt">匹配其实是<span lang="EN-US">0</span>个或者多个空格<span lang="EN-US">(tab</span>不能算作空格<span lang="EN-US">)</span>，跟着大写字母，两个小写字母和一个新行。<span lang="EN-US"><o:p></o:p></span></span></tt></p>
<p class="MsoNormal"><tt><span lang="EN-US" style="font-size: 12pt">/^[A&#8211;Za&#8211;z]*[^,][A&#8211;Za&#8211;z]*$/<o:p></o:p></span></tt></p>
<p class="MsoNormal"><tt><span style="font-size: 12pt">匹配<span lang="EN-US">0</span>个或多个大写或小写字母跟着非逗号，然后紧跟着<span lang="EN-US">0</span>个或者多个大写或小写字母结束<span lang="EN-US"><o:p></o:p></span></span></tt></p>
<p class="MsoNormal"><tt><span style="font-size: 12pt">例子<span lang="EN-US">3.10<o:p></o:p></span></span></tt></p>
<pre><span lang="EN-US">/\&lt;fourth\&gt;/</span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在每行上查找</span><span lang="EN-US">fourth</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个单词，一个单词可以被空格分隔，结束于标点符号，起始于一行，结束于一行等等。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.11</span></p>
<pre><span lang="EN-US">/\&lt;f.*th\&gt;/</span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匹配单词以</span><span lang="EN-US">f</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开始，跟着</span><span lang="EN-US">0</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个或者多个任意的字符，结束语</span><span lang="EN-US">th</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.12</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">1,$s/\([0o]ccur\)ence/\1rence/</span></span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">搜索整个字符串</span><tt><span lang="EN-US" style="font-size: 12pt">occurrence</span></tt><tt><span style="font-size: 12pt">或者<span lang="EN-US">Occurrence<o:p></o:p></span></span></tt></p>
<p class="MsoNormal"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"><img height="433" alt="" src="http://www.blogjava.net/images/blogjava_net/zjrstar/1a.JPG" width="496" border="0" /></o:lock></v:shapetype></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.13</span></p>
<p class="MsoNormal"><span lang="EN-US">:s/\(square\) and \(fair\)/\2 and \1/</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将会匹配</span><span lang="EN-US">fair and square</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;<img height="311" alt="" src="http://www.blogjava.net/images/blogjava_net/zjrstar/2a.JPG" width="496" border="0" /></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例子</span><span lang="EN-US">3.14</span></p>
<pre><span class="docemphstrong"><span lang="EN-US">/5\{2\}2\{3\}\./</span></span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匹配所有行中包含出现两次数字</span><span lang="EN-US">5</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，跟着出现三次数字</span><span lang="EN-US">2</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，跟着</span><span class="docemphstrong"><span lang="EN-US">.</span></span></p>
<img src ="http://www.blogjava.net/zjrstar/aggbug/213559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zjrstar/" target="_blank">一叶笑天</a> 2008-07-09 11:21 <a href="http://www.blogjava.net/zjrstar/archive/2008/07/09/213559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UNIX Shells by Example(Fourth Edition)读书笔记-2.Shells编程快速入门(四)之Bash Shell </title><link>http://www.blogjava.net/zjrstar/archive/2008/07/08/213217.html</link><dc:creator>一叶笑天</dc:creator><author>一叶笑天</author><pubDate>Tue, 08 Jul 2008 01:38:00 GMT</pubDate><guid>http://www.blogjava.net/zjrstar/archive/2008/07/08/213217.html</guid><wfw:comment>http://www.blogjava.net/zjrstar/comments/213217.html</wfw:comment><comments>http://www.blogjava.net/zjrstar/archive/2008/07/08/213217.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zjrstar/comments/commentRss/213217.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zjrstar/services/trackbacks/213217.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;Bash Shell结构Korn和Bash shells非常相似,但是还是有一些不同之处。Bash的结构如下所示。Bash Shell语法结构                                    Shbang行                                    "shbang" 是脚本起始行，告诉kern...&nbsp;&nbsp;<a href='http://www.blogjava.net/zjrstar/archive/2008/07/08/213217.html'>阅读全文</a><img src ="http://www.blogjava.net/zjrstar/aggbug/213217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zjrstar/" target="_blank">一叶笑天</a> 2008-07-08 09:38 <a href="http://www.blogjava.net/zjrstar/archive/2008/07/08/213217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UNIX Shells by Example(Fourth Edition)读书笔记-2.Shells编程快速入门(三) 之Korn Shell</title><link>http://www.blogjava.net/zjrstar/archive/2008/06/30/211591.html</link><dc:creator>一叶笑天</dc:creator><author>一叶笑天</author><pubDate>Mon, 30 Jun 2008 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/zjrstar/archive/2008/06/30/211591.html</guid><wfw:comment>http://www.blogjava.net/zjrstar/comments/211591.html</wfw:comment><comments>http://www.blogjava.net/zjrstar/archive/2008/06/30/211591.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zjrstar/comments/commentRss/211591.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zjrstar/services/trackbacks/211591.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/zjrstar/archive/2008/06/30/211591.html'>阅读全文</a><img src ="http://www.blogjava.net/zjrstar/aggbug/211591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zjrstar/" target="_blank">一叶笑天</a> 2008-06-30 10:25 <a href="http://www.blogjava.net/zjrstar/archive/2008/06/30/211591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UNIX Shells by Example(Fourth Edition)读书笔记-2.Shells编程快速入门(二) 之Bourne Shell</title><link>http://www.blogjava.net/zjrstar/archive/2008/06/25/210643.html</link><dc:creator>一叶笑天</dc:creator><author>一叶笑天</author><pubDate>Wed, 25 Jun 2008 10:29:00 GMT</pubDate><guid>http://www.blogjava.net/zjrstar/archive/2008/06/25/210643.html</guid><wfw:comment>http://www.blogjava.net/zjrstar/comments/210643.html</wfw:comment><comments>http://www.blogjava.net/zjrstar/archive/2008/06/25/210643.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zjrstar/comments/commentRss/210643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zjrstar/services/trackbacks/210643.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Bourne shell语法和结构：                                    Shbang行                                    "shbang" 是脚本起始行，告诉kernel那个shell解析. #!位于行头。#!/bin/sh                            ...&nbsp;&nbsp;<a href='http://www.blogjava.net/zjrstar/archive/2008/06/25/210643.html'>阅读全文</a><img src ="http://www.blogjava.net/zjrstar/aggbug/210643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zjrstar/" target="_blank">一叶笑天</a> 2008-06-25 18:29 <a href="http://www.blogjava.net/zjrstar/archive/2008/06/25/210643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UNIX Shells by Example(Fourth Edition)读书笔记-2.Shells编程快速入门(一)之C Shell和TC Shell</title><link>http://www.blogjava.net/zjrstar/archive/2008/06/19/209133.html</link><dc:creator>一叶笑天</dc:creator><author>一叶笑天</author><pubDate>Thu, 19 Jun 2008 05:52:00 GMT</pubDate><guid>http://www.blogjava.net/zjrstar/archive/2008/06/19/209133.html</guid><wfw:comment>http://www.blogjava.net/zjrstar/comments/209133.html</wfw:comment><comments>http://www.blogjava.net/zjrstar/archive/2008/06/19/209133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zjrstar/comments/commentRss/209133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zjrstar/services/trackbacks/209133.html</trackback:ping><description><![CDATA[<p class="docText">2.1 快速浏览Shell脚本：<br />
C shell&nbsp;和 TC shell 类似于C语言语法<br />
Bourne shell&nbsp;是基于Algol语言<br />
Bash和Korn shells&nbsp;混合了Bourne和C shells, 但是起源于Bourne shell.<br />
2.3 C 和TC Shell 语法结构<br />
<table style="border-right: 2px solid; padding-right: 2px; border-top: 2px solid; padding-left: 2px; padding-bottom: 2px; border-left: 2px solid; padding-top: 2px; border-bottom: 2px solid" cellspacing="0" cellpadding="5" rules="none" frame="hsides">
    <tbody>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">shbang行 </p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">"shbang" 行告诉采用哪个shell来解析脚本. 首先是<tt>#</tt>, <tt>!</tt>, shell的路径 例如：#!/bin/csh or #!/bin/tcsh</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">注释</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">用<tt>#符号</tt><span class="docEmphStrong">。例如： </span># This is a comment</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">通配符</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">&nbsp;<tt>*</tt>, <tt>?</tt>, and <tt>[ ]</tt> 用于文件名的扩展. <br />
            <tt>!</tt> 是历史字符<br />
            &nbsp;<tt>&lt;</tt> , <tt>&gt;</tt> , <tt>&gt;&gt;</tt> , <tt>&lt;&amp;</tt>, and <tt>|</tt>&nbsp;用于标准IO的重定向和管道<br />
            &nbsp;为了避免这些符号被shell解析器解释，shell中必须使用\或者"。例如：<br />
            rm *; ls ??; cat file[1-3]; !!<br />
            echo "How are you?"<br />
            echo Oh boy\!</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">输出显示</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText"><tt>echo</tt> 输出显示 echo "Hello to you\!"</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">局部变量</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">局部变量存在于当前shell中。使用set设置。例如<br />
            set variable_name = value<br />
            set name = "Tom Jones"</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">全局变量</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">全局变量被称为环境变量。例如<br />
            setenv VARIABLE_NAME value<br />
            setenv PRINTER Shakespeare&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">从变量中提取值</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">为了从变量中提取之，使用$在变量前。例如：<br />
            echo $variable_name<br />
            echo $name<br />
            echo $PRINTER</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">读取用户输入</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">使用&nbsp;<tt>$&lt;</tt> 读入一行到一个变量中<span class="docEmphStrong">，例如：<br />
            </span>echo "What is your name?"<br />
            set name = $&lt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
            <br />
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" rowspan="7">
            <p class="docText">参数</p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText">可以从命令行中传入参数。两种方式接受这些参数值：一个是位置参数，另外一个是argv数组。例如：<br />
            % scriptname arg1 arg2 arg3 ...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
            <p class="docText">使用位置参数:</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="3">
            <p class="docText"><tt>echo $1 $2 $3</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="2">
            <p class="docText"><tt>arg1</tt> <span class="docEmphasis">指定为</span><tt>$1</tt>, <tt>arg2</tt> <span class="docEmphasis">to</span> <tt>$2</tt><span class="docEmphasis">, etc.</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="3">
            <p class="docText"><tt>echo $*</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="2">
            <p class="docText"><span class="docEmphasis">所有的参数</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText">使用argv数组:</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="3">
            <p class="docText"><tt>echo $argv[1] $argv[2] $argv[3]</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="2">&nbsp;</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="3">
            <p class="docText"><tt>echo $argv[*]</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="2">
            <p class="docText"><span class="docEmphasis">所有参数</span></p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" colspan="3">
            <p class="docText"><tt>echo $#argv</tt></p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="2">
            <p class="docText"><span class="docEmphasis">参数号</span></p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" rowspan="4">
            <p class="docText">数组</p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText">数组是一列被空格分隔的字符。使用()把字符都包含进去。<br />
            用内建的<tt>shift</tt>命名可以移出左边的字从list中。<br />
            不同于C,&nbsp;index起始值是1而不是0.<br />
            例如：</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="3">
            <p class="docText"><tt>set word_list = ( word1 word2 word3 )</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="2">&nbsp;</td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="3">
            <pre>set names = ( Tom Dick Harry Fred )
            shift names</pre>
            </td>
            <td class="docTableCell" valign="bottom" align="left" colspan="2">
            <p class="docText"><span class="docEmphasis">从list中删除</span><tt>Tom</tt></p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" colspan="3">
            <pre>echo $word_list[1]
            echo $word_list[2]
            echo $word_list or $word_list[*]
            echo $names[1]
            echo $names[2]
            echo $names[3]
            echo $names or echo $names[*]
            </pre>
            <br />
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="2">
            <p class="docText"><span class="docEmphasis">显示第一个<br />
            显示第二个<br />
            </span><span class="docEmphasis">显示所有</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">命令替换</p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText"><span class="docEmphStrong">使用` `例如：</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">&nbsp;</td>
            <td class="docTableCell" valign="top" align="left" colspan="2">
            <pre>set variable_name=`command` echo $variable_name</pre>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="3">&nbsp;</td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">&nbsp;</td>
            <td class="bottomBorder" valign="top" align="left" colspan="2">
            <pre>set now = `date`
            echo $now
            echo "Today is `date`"</pre>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="3">
            <p class="docText">&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">算术</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">使用@来表示计算结果的保存变量。例如<br />
            @ n = 5 + 5<br />
            echo $n</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" rowspan="13">
            <p class="docText">操作符</p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="5"></td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText">相等性:</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText"><tt>==</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText"><tt>!=</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText">Relational:</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&gt;</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">greater than</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&gt;=</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">greater than or equal to</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&lt;</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">less than</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&lt;=</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">less than or equal to</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText">逻辑性:</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&amp;&amp;</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">and</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>||</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">or</span></p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText"><tt>!</tt></p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">nSot</span></p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" rowspan="3">
            <p class="docText">条件语句</p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText"><tt>if</tt>&nbsp; <tt>then.</tt> <tt>if</tt>&nbsp;必须用<tt>endif结尾</tt>. 还可以使用<tt>if/else。例如：</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText">The <tt>if</tt> construct is:</p>
            <pre>if (  expression  ) then
            block of statements
            endif
            </pre>
            <br />
            <p class="docText">The <tt>if/else</tt> construct is:</p>
            <pre>if ( expression ) then
            block of statements
            else
            block of statements
            endif
            </pre>
            <br />
            </td>
            <td class="bottomBorder" valign="top" align="left" rowspan="2">
            <p class="docText">The <tt>if/else/else if</tt> construct is:</p>
            <pre>if ( expression ) then
            block of statements
            else if ( expression ) then
            block of statements
            else if ( expression ) then
            block of statements
            else
            block of statements
            endif
            switch ( "$color" )
            case blue:
            echo $color is blue
            breaksw
            case green:
            echo $color is green
            breaksw
            case red:
            case orange:
            echo $color is red or orange
            breaksw
            default:
            echo "Not a valid color"
            endsw
            </pre>
            <br />
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" colspan="4">
            <p class="docText">switch 结构:</p>
            <pre>switch variable_name
            case constant1:
            statements
            case constant2:
            statements
            case constant3:
            statements
            default:
            statements
            endsw</pre>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left">
            <p class="docText">循环</p>
            </td>
            <td class="bottomBorder" valign="top" align="left" colspan="5">
            <p class="docText">两种类型循环语句：<tt>while</tt>和<tt>foreach<br />
            </tt>循环控制中可以使用<tt>break</tt>和<tt>continue</tt>.<span class="docEmphStrong">例如：<br />
            </span>while ( expression )<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;block of statements<br />
            end<br />
            foreach variable ( word list )<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;block of statements<br />
            end<br />
            &nbsp;------------------------------<br />
            &nbsp;foreach color (red green blue)<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $color<br />
            &nbsp;&nbsp;end</p>
            </td>
        </tr>
        <tr>
            <td class="bottomBorder" valign="top" align="left" rowspan="9">
            <p class="docText">文件测试</p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="5">
            <p class="docText"><span class="docEmphStrong">例如：</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;r</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">当前用户能读文件</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;w</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4"><span class="docEmphasis">
            <p class="docText"><span class="docEmphasis">当前用户能写文件</span></span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;x</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4"><span class="docEmphasis">
            <p class="docText"><span class="docEmphasis">当前用户能执行文件</span></span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;e</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">文件存在</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;o</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4"><span class="docEmphasis">
            <p class="docText"><span class="docEmphasis">当前用户拥有文件</span></span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;z</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">文件长度为0</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;d</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">文件是目录</span></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>&#8211;f</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left" colspan="4">
            <p class="docText"><span class="docEmphasis">文件是普通文件</span></p>
            </td>
        </tr>
    </tbody>
</table>
</p>
<h4 class="docSection2Title">2.3.1 C/TC Shell 脚本</h4>
<h5 class="docExampleTitle">Example 2.2. </h5>
<pre>1   #!/bin/csh &#8211;f
2   <span class="docEmphasis"># The Party Program&#8211;&#8211;Invitations to friends from the "guest" file</span>
3   set guestfile = ~/shell/guests
4   if ( ! &#8211;e "$guestfile" ) then
echo "$guestfile:t non&#8211;existent"
exit 1
5   endif
6   setenv PLACE "Sarotini's"
7   @ Time = `date +%H` + 1
8   set food = ( cheese crackers shrimp drinks "hot dogs" sandwiches )
9   foreach person ( `cat $guestfile` )
10      if ( $person =~ root ) continue
11      mail &#8211;v &#8211;s "Party" $person &lt;&lt; FINIS   <span class="docEmphasis"># Start of here document <br />
</span>         Hi $person!Please join me at $PLACE for a party!</pre>
<pre>         Meet me at $Time o'clock. I'll bring the ice cream. </pre>
<pre>        Would you please bring $food[1] and anything else you would like to eat? </pre>
<pre>        Let me know if you can make it. Hope to see you soon.
Your pal,
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#101;&#108;&#108;&#105;&#101;&#64;&#96;&#104;&#111;&#115;&#116;&#110;&#97;&#109;&#101;">ellie@`hostname</a>`       # or `uname -n`
12       FINIS
13       shift food
14       if ( $#food ==  0 ) then
set food = ( cheese crackers shrimp drinks "hot dogs" sandwiches )
endif
15   end
echo "Bye..."</pre>
<pre>解释：</pre>
<pre>1.告诉kernel，这是C shell脚本. &#8221;<tt>&#8211;f&#8220;</tt>表示快速启动.就是说不要执行<tt>.cshrc.<br />
2.注释行<br />
3.变量<tt>guestfile</tt> 被设置为调用<tt>guests</tt>的全路径<br />
4.行读入，如果<tt>guests不存在，打印</tt> "<tt>guests nonexistent</tt>" ，退出脚本。<br />
5.endif<br />
6.<tt>PLACE</tt> 环境变量<br />
7.<tt>Time</tt>局部变量。<tt>@</tt>是内建算术。<br />
8.<tt>food数组。<br />
9.<tt>foreach循环。命令替换<tt>`cat $guestfile`</tt>. <br />
10.条件测试<br />
11.<tt>foreach循环<br />
12.<tt>FINIS是用户定义的终结符<br />
13.<tt>shift命令取得下一个person<br />
14.如果food为空，将会重置。<br />
15.循环结束标志</tt></tt></tt></tt></tt></tt></pre>
 <img src ="http://www.blogjava.net/zjrstar/aggbug/209133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zjrstar/" target="_blank">一叶笑天</a> 2008-06-19 13:52 <a href="http://www.blogjava.net/zjrstar/archive/2008/06/19/209133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UNIX Shells by Example(Fourth Edition)读书笔记-1.UNIX/Linux Shells简介</title><link>http://www.blogjava.net/zjrstar/archive/2008/06/18/208634.html</link><dc:creator>一叶笑天</dc:creator><author>一叶笑天</author><pubDate>Wed, 18 Jun 2008 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/zjrstar/archive/2008/06/18/208634.html</guid><wfw:comment>http://www.blogjava.net/zjrstar/comments/208634.html</wfw:comment><comments>http://www.blogjava.net/zjrstar/archive/2008/06/18/208634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zjrstar/comments/commentRss/208634.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zjrstar/services/trackbacks/208634.html</trackback:ping><description><![CDATA[Shell是一些特定的程序接口，用于用户和UNIX/Linux操作系统核交互。如下图所示：<br />
1.Unix Shell<br />
&nbsp; (1) Bourne shell (<tt>sh</tt>)是标准的UNIX shell, 用于管理系统. 很多系统管理的脚本。例如<tt>rc start和</tt><tt>stop脚本以及</tt><tt>shutdown</tt> 是Bourne shell 脚本;缺省的Bourne shell 表示为(<tt>$</tt>)<br />
&nbsp; (2) C shell (<tt>csh</tt>)是伯克利开发的，增加了很多新的特征, 例如command-line history, aliasing, built-in arithmetic, filename completion, and job control. Bourne shell&nbsp;脚本快于和简单于C shell. 缺省C shell 表示为(<tt>%</tt>)<br />
&nbsp; (3) Korn shell是Bourne shell的超集. Korn shell&nbsp;增强的特征有editable history, aliases, functions, regular expression wildcards, built-in arithmetic, job control, coprocessing, and special debugging features. Bourne shell is 完全向上兼容Korn shell,q缺省的Korn shell提示符是 (<tt>$</tt>)<br />
2.Shell的职责是：<br />
(1)读入输入和解析命令行<br />
(2)计算特殊字符，例如wildcards和历史字符<br />
(3)建立管道，重定向和后台处理<br />
(4)处理信号<br />
(5)建立可执行程序<br />
3.Shell命令执行图：<br />
<img height="696" alt="" src="http://www.blogjava.net/images/blogjava_net/zjrstar/shell.JPG" width="556" border="0" /><br />
4.系统启动和登录Shell<br />
启动系统-&gt;&gt;调用<tt>init-&gt;&gt;分配</tt>PID=1-&gt;&gt;打开终端线-&gt;&gt;建立<tt>stdin</tt>,<tt>stdout和</tt><tt>stderr-&gt;&gt;</tt>输入login name,-&gt;&gt;输入password-&gt;&gt; <tt>/bin/login</tt>通过<tt>passwd</tt>文件验证你的密码.如果<tt>login</tt>验证成功，则会开始建立初始环境 <tt>HOME</tt>, <tt>SHELL</tt>, <tt>USER</tt>,&nbsp;和 <tt>LOGNAME</tt>&nbsp;是从<tt>passwd</tt>中抽取的变量值. <tt>HOME变量指定你的home目录</tt>, <tt>SHELL</tt>指定登录shell的名称,它是passwd文件的最后一个入口. <tt>USER</tt>&nbsp;和 <tt>LOGNAME</tt> 变量指定你的登录名.&nbsp;-&gt;&gt;执行passwd文件中的最后一个入口程序<font face="Courier New">.</font> 通常这个程序就是shell.&nbsp;如果<tt>passwd</tt>文件中的最后一个程序是 <tt>/bin/csh</tt>, C shell被执行，如果是 <tt>/bin/bash</tt> 或者null, Bash shell执行.&nbsp;如果是 <tt>/bin/ksh</tt>&nbsp;或者 <tt>/bin/pdksh</tt>, Korn shell 被执行. -&gt;&gt;检查系统初始化文件建立-&gt;&gt;检查登录目录下的初始化文件. -&gt;&gt;等待用户输入。<br />
4.1解析命令行的过程：<br />
(1)执行历史记录替换<br />
(2)命名行被分割成符合或者字<br />
(3)更新历史记录<br />
(4)处理引用<br />
(5)别名替换和定义函数<br />
(6)建立重定向,后台和管道<br />
(7)执行变量(<tt>$user</tt>, <tt>$name</tt>, etc.) 替换<br />
(8)执行命令替换<br />
(9)文件名替换，调用<span class="docEmphasis">globbing</span> (<tt>cat abc.??</tt>, <tt>rm *.c</tt>, etc.) <br />
(10)执行命令<br />
4.2命令的类型<br />
(1)别名<br />
(2)关键字<br />
(3)函数<br />
(4)内建命令<br />
(5)可执行命令<br />
5.进程和Shell<br />
5.1查看进程<br />
$ <span class="docEmphStrong">ps aux</span>&nbsp; <span class="docEmphasis">(BSD/Linux ps)&nbsp; (use ps -ef for SVR4)</span><br />
<span class="docEmphStrong">$ pstree<br />
</span>6.环境和继承<br />
1&nbsp;&nbsp; $ <span class="docEmphStrong">id</span><br />
&nbsp;&nbsp;&nbsp;<span class="docEmphasis">uid=502(ellie) gid=502(ellie)</span><br />
查看用户的标识user identification (UID), group identifications (GID), <br />
6.3修改文件许可<br />
chmod<br />
Permission Modes<br />
<table cellspacing="0" cellpadding="5" rules="none" frame="hsides">
    <thead>
        <tr>
            <th class="thead" valign="top" scope="col" align="left">
            <p class="docText"><span class="docEmphBoldItalic">Decimal</span></p>
            </th>
            <th class="thead" valign="top" scope="col" align="left">
            <p class="docText"><span class="docEmphBoldItalic">Binary</span></p>
            </th>
            <th class="thead" valign="top" scope="col" align="left">
            <p class="docText"><span class="docEmphBoldItalic">Permissions</span></p>
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">0</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">000</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">none</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">1</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">001</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>--x</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">2</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">010</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>-w-</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">3</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">011</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>-wx</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">4</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">100</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>r--</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">5</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">101</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>r-x</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">6</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">110</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>rw-</tt></p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">7</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">111</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>rwx</tt></p>
            </td>
        </tr>
    </tbody>
</table>
<tt>chmod</tt> is as follows: <tt>r</tt> = read; <tt>w</tt> = write; <tt>x</tt> = execute; <tt>u</tt> = user; <tt>g</tt> = group; <tt>o</tt> = others; <tt>a</tt> = all.<br />
1&nbsp;&nbsp; $ <span class="docEmphStrong">chmod 755 file</span><br />
&nbsp;&nbsp;&nbsp; $ <span class="docEmphStrong">ls &#8211;l file</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">&#8211;rwxr&#8211;xr&#8211;x 1 ellie&nbsp; 0 Mar&nbsp; 7 12:52 file</span><br />
2&nbsp;&nbsp; $ <span class="docEmphStrong">chmod g+w file</span><br />
&nbsp;&nbsp;&nbsp; $ <span class="docEmphStrong">ls -l file</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">&#8211;rwxrwxr-x&nbsp; 1 ellie&nbsp; 0 Mar 7 12:54 file</span><br />
3&nbsp;&nbsp; $ <span class="docEmphStrong">chmod go-rx file</span><br />
&nbsp;&nbsp;&nbsp; $ <span class="docEmphStrong">ls -l file</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">&#8211;rwx-w---- 1 ellie&nbsp; 0 Mar 7 12:56 file</span><br />
4&nbsp;&nbsp; $ <span class="docEmphStrong">chmod a=r file</span><br />
&nbsp;&nbsp;&nbsp; $ <span class="docEmphStrong">ls -l file</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">&#8211;r--r--r-- 1 ellie&nbsp; 0 Mar 7 12:59 file<br />
<tt>chown改变文件和目录的所有属性<br />
</tt>1&nbsp;&nbsp; $ <span class="docEmphStrong">ls -l filetest</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">-rw-rw-r--&nbsp;&nbsp; 1 ellie&nbsp;&nbsp;&nbsp; ellie&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 Jan 10 12:19 filetest</span><br />
6.4工作目录<br />
1&nbsp;&nbsp; &gt; <span class="docEmphStrong">cd /</span><br />
2&nbsp;&nbsp; &gt; <span class="docEmphStrong">pwd</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">/</span><br />
3&nbsp;&nbsp; &gt; <span class="docEmphStrong">bash</span><br />
4&nbsp;&nbsp; $ <span class="docEmphStrong">cd /home</span><br />
5&nbsp;&nbsp; $ <span class="docEmphStrong">pwd</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">/home</span><br />
6&nbsp;&nbsp; $ <span class="docEmphStrong">exit</span><br />
7&nbsp;&nbsp; &gt; <span class="docEmphStrong">pwd</span><br />
&nbsp;&nbsp;&nbsp; <span class="docEmphasis">/</span><br />
&nbsp;&nbsp;&nbsp; &gt;<br />
6.5查看变量<br />
$ <span class="docEmphStrong">env</span><br />
6.6重定向和管道<br />
重定向<br />
1&nbsp;&nbsp; $ who <span class="docEmphStrong">&gt;</span> file<br />
2&nbsp;&nbsp; $ cat file1 file2 <span class="docEmphStrong">&gt;&gt;</span> file3<br />
3&nbsp;&nbsp; $ mail tom &lt; file<br />
4&nbsp;&nbsp; $ find / -name file -print <span class="docEmphStrong">2&gt;</span> errors<br />
5&nbsp;&nbsp; % ( find / -name file -print <span class="docEmphStrong">&gt;</span> /dev/tty) <span class="docEmphStrong">&gt;&amp;</span> errors<br />
管道<br />
|<br />
who | wc<br />
6.7Shell和信号<br />
标准信号<br />
<table cellspacing="0" cellpadding="5" rules="none" frame="hsides">
    <thead>
        <tr>
            <th class="thead" valign="top" scope="col" align="left">
            <p class="docText"><span class="docEmphBoldItalic">Number</span></p>
            </th>
            <th class="thead" valign="top" scope="col" align="left">
            <p class="docText"><span class="docEmphBoldItalic">Name</span></p>
            </th>
            <th class="thead" valign="top" scope="col" align="left">
            <p class="docText"><span class="docEmphBoldItalic">Description</span></p>
            </th>
            <th class="thead" valign="top" scope="col" align="left">
            <p class="docText"><span class="docEmphBoldItalic">Action</span></p>
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">0</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>EXIT</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Shell exits</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Termination</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">1</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>SIGHUP</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Terminal has disconnected</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Termination</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">2</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>SIGINT</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">User presses Ctrl-C</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Termination</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">3</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>SIGQUIT</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">User presses Ctrl-\</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Termination</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">4</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>SIGILL</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Illegal hardware instruction</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Program error</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">5</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>SIGTRAP</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Produced by debugger</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Program error</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">8</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>SIGFPE</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Arithmetic error; e.g., division by zero</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Program error</p>
            </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">9</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText"><tt>SIGKILL</tt></p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Cannot be caught or ignored</p>
            </td>
            <td class="docTableCell" valign="top" align="left">
            <p class="docText">Termination</p>
            </td>
        </tr>
    </tbody>
</table>
<br />
</span>
 <img src ="http://www.blogjava.net/zjrstar/aggbug/208634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zjrstar/" target="_blank">一叶笑天</a> 2008-06-18 10:37 <a href="http://www.blogjava.net/zjrstar/archive/2008/06/18/208634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>