⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch34_02.htm

📁 the unix power tools
💻 HTM
字号:
<HTML><!--Distributed by F --><HEAD><TITLE>[Chapter 34] 34.2 Invoking sed </TITLE><METANAME="DC.title"CONTENT="UNIX Power Tools"><METANAME="DC.creator"CONTENT="Jerry Peek, Tim O'Reilly &amp; Mike Loukides"><METANAME="DC.publisher"CONTENT="O'Reilly &amp; Associates, Inc."><METANAME="DC.date"CONTENT="1998-08-04T21:47:09Z"><METANAME="DC.type"CONTENT="Text.Monograph"><METANAME="DC.format"CONTENT="text/html"SCHEME="MIME"><METANAME="DC.source"CONTENT="1-56592-260-3"SCHEME="ISBN"><METANAME="DC.language"CONTENT="en-US"><METANAME="generator"CONTENT="Jade 1.1/O'Reilly DocBook 3.0 to HTML 4.0"><LINKREV="made"HREF="mailto:online-books@oreilly.com"TITLE="Online Books Comments"><LINKREL="up"HREF="ch34_01.htm"TITLE="34. The sed Stream Editor"><LINKREL="prev"HREF="ch34_01.htm"TITLE="34.1 Two Things You Must Know About sed "><LINKREL="next"HREF="ch34_03.htm"TITLE="34.3 Testing and Using a sed Script: checksed, runsed "></HEAD><BODYBGCOLOR="#FFFFFF"TEXT="#000000"><DIVCLASS="htmlnav"><H1><IMGSRC="gifs/smbanner.gif"ALT="UNIX Power Tools"USEMAP="#srchmap"BORDER="0"></H1><MAPNAME="srchmap"><AREASHAPE="RECT"COORDS="0,0,466,58"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="467,0,514,18"HREF="jobjects/fsearch.htm"ALT="Search this book"></MAP><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch34_01.htm"TITLE="34.1 Two Things You Must Know About sed "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 34.1 Two Things You Must Know About sed "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><B><FONTFACE="ARIEL,HELVETICA,HELV,SANSERIF"SIZE="-1">Chapter 34<BR>The sed Stream Editor</FONT></B></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch34_03.htm"TITLE="34.3 Testing and Using a sed Script: checksed, runsed "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 34.3 Testing and Using a sed Script: checksed, runsed "BORDER="0"></A></TD></TR></TABLE>&nbsp;<HRALIGN="LEFT"WIDTH="515"TITLE="footer"></DIV><DIVCLASS="SECT1"><H2CLASS="sect1"><ACLASS="title"NAME="UPT-ART-8000">34.2 Invoking sed </A></H2><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-38284"></A>If you were using <EMCLASS="emphasis">sed</EM> on the fly, as a <SPANCLASS="link">stream editor (<ACLASS="linkend"HREF="ch34_01.htm#UPT-ART-7996"TITLE="Two Things You Must Know About sed ">34.1</A>)</SPAN>,you might execute it as simply as this:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">% <CODECLASS="replaceable"><I>somecommand</I></CODE><CODECLASS="userinput"><B> | sed 's/old/new/' | </B></CODE><CODECLASS="replaceable"><I>othercommand</I></CODE></PRE></BLOCKQUOTE></P><PCLASS="para">Given filenames, <EMCLASS="emphasis">sed</EM> will read them instead of standard input:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">% <CODECLASS="userinput"><B>sed 's/old/new/' myfile</B></CODE></PRE></BLOCKQUOTE></P><PCLASS="para">A simple script can go right on the command line. If you want toexecute more than one editing command, you can use the <EMCLASS="emphasis">-e</EM> option:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">% <CODECLASS="userinput"><B>sed -e 's/old/new/' -e '/bad/d' myfile</B></CODE></PRE></BLOCKQUOTE></P><PCLASS="para">or you can use semicolons (<CODECLASS="literal">;</CODE>), which are a <EMCLASS="emphasis">sed</EM> command separator:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">% <CODECLASS="userinput"><B>sed 's/old/new/; /bad/d' myfile</B></CODE></PRE></BLOCKQUOTE></P><PCLASS="para">or (especially useful in<SPANCLASS="link">shell scripts (<ACLASS="linkend"HREF="ch01_05.htm"TITLE="Anyone Can Program the Shell ">1.5</A>)</SPAN>)you can use the Bourne shell's ability to understand multiline commands:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">sed 's/old/new//bad/d' myfile</PRE></BLOCKQUOTE></P><PCLASS="para">or you can put your commands into a file, and tell <EMCLASS="emphasis">sed</EM> to readthat file with the <EMCLASS="emphasis">-f</EM> option:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">% <CODECLASS="userinput"><B>sed -f scriptfile myfile</B></CODE></PRE></BLOCKQUOTE></P><PCLASS="para">There's only one other command-line option: <EMCLASS="emphasis">-n</EM>.<EMCLASS="emphasis">sed</EM> normally prints every line of its input (except those thathave been deleted by the editing script). But there are times whenyou only want lines that your script has affected, or that you explicitly ask for with the <EMCLASS="emphasis">p</EM> command.In these cases, use<EMCLASS="emphasis">-n</EM> to suppress the normal output.</P><DIVCLASS="sect1info"><PCLASS="SECT1INFO">- <SPANCLASS="authorinitials">TOR</SPAN></P></DIV></DIV><DIVCLASS="htmlnav"><P></P><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch34_01.htm"TITLE="34.1 Two Things You Must Know About sed "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 34.1 Two Things You Must Know About sed "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="book"HREF="index.htm"TITLE="UNIX Power Tools"><IMGSRC="gifs/txthome.gif"SRC="gifs/txthome.gif"ALT="UNIX Power Tools"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch34_03.htm"TITLE="34.3 Testing and Using a sed Script: checksed, runsed "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 34.3 Testing and Using a sed Script: checksed, runsed "BORDER="0"></A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172">34.1 Two Things You Must Know About sed </TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="index"HREF="index/idx_0.htm"TITLE="Book Index"><IMGSRC="gifs/index.gif"SRC="gifs/index.gif"ALT="Book Index"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172">34.3 Testing and Using a sed Script: checksed, runsed </TD></TR></TABLE><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><IMGSRC="gifs/smnavbar.gif"SRC="gifs/smnavbar.gif"USEMAP="#map"BORDER="0"ALT="The UNIX CD Bookshelf Navigation"><MAPNAME="map"><AREASHAPE="RECT"COORDS="0,0,73,21"HREF="../index.htm"ALT="The UNIX CD Bookshelf"><AREASHAPE="RECT"COORDS="74,0,163,21"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="164,0,257,21"HREF="../unixnut/index.htm"ALT="UNIX in a Nutshell"><AREASHAPE="RECT"COORDS="258,0,321,21"HREF="../vi/index.htm"ALT="Learning the vi Editor"><AREASHAPE="RECT"COORDS="322,0,378,21"HREF="../sedawk/index.htm"ALT="sed &amp; awk"><AREASHAPE="RECT"COORDS="379,0,438,21"HREF="../ksh/index.htm"ALT="Learning the Korn Shell"><AREASHAPE="RECT"COORDS="439,0,514,21"HREF="../lrnunix/index.htm"ALT="Learning the UNIX Operating System"></MAP></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -