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

📄 ch33_11.htm

📁 the unix power tools
💻 HTM
📖 第 1 页 / 共 4 页
字号:
> (the current input line).Literalstrings must be quoted.Fields areprinted in the order they are listed.If separated by commas (<CODECLASS="literal">,</CODE>) in theargument list, they are separated in the output by the <EMCLASS="emphasis">OFS</EM> character.If separated by spaces, they areconcatenated in the output.<CODECLASS="replaceable"><I>destination</I></CODE> is a UNIX redirection orpipe expression (e.g., <CODECLASS="literal">&gt;&nbsp;</CODE><CODECLASS="replaceable"><I>file</I></CODE>) that redirects the default standard output.&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">printf</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="replaceable"><I>format </I></CODE>[<CODECLASS="literal">, </CODE><CODECLASS="replaceable"><I>expression(s)</I></CODE>] [<CODECLASS="replaceable"><I>destination</I></CODE>]Formatted print statement.<ACLASS="indexterm"NAME="AUTOID-37930"></A>Fields or variables can beformatted according to instructions in the <CODECLASS="replaceable"><I>format</I></CODE> argument.The number of <CODECLASS="replaceable"><I>expression</I></CODE>s must correspond to the number specified in theformat sections.<CODECLASS="replaceable"><I>format</I></CODE> follows the conventions of the C-language <EMCLASS="emphasis">printf</EM>statement.Here are a few of the most common formats:&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">%s</CODE></DT><DDCLASS="listitem"><PCLASS="para">A string.</P></DD><DTCLASS="term"><CODECLASS="literal">%d</CODE></DT><DDCLASS="listitem"><PCLASS="para">A decimal number.</P></DD><DTCLASS="term"><CODECLASS="literal">%</CODE><CODECLASS="replaceable"><I>n</I></CODE><CODECLASS="literal">.</CODE><CODECLASS="replaceable"><I>m</I></CODE><CODECLASS="literal">f</CODE></DT><DDCLASS="listitem"><PCLASS="para">A floating-point number, where <CODECLASS="replaceable"><I>n</I></CODE> is the total number of digitsand <CODECLASS="replaceable"><I>m</I></CODE> is the number of digits after the decimal point.</P></DD><DTCLASS="term"><CODECLASS="literal">%</CODE>[<CODECLASS="literal">-</CODE>]<CODECLASS="replaceable"><I>nc</I></CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="replaceable"><I>n</I></CODE> specifies minimum field length for format type <CODECLASS="replaceable"><I>c</I></CODE>, while<CODECLASS="literal">-</CODE> left justifies value in field; otherwise value is right justified.<CODECLASS="replaceable"><I>format</I></CODE> can also contain embedded escape sequences:<CODECLASS="literal">\n</CODE> (newline) or <CODECLASS="literal">\t</CODE>&nbsp;(tab)are the most common.<CODECLASS="replaceable"><I>destination</I></CODE> is a UNIX redirection orpipe expression (e.g., <CODECLASS="literal">&gt;&nbsp;</CODE><CODECLASS="replaceable"><I>file</I></CODE>) that redirects the default standard output.Example:Using the script:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">{printf &quot;The sum on line %s is %d.\n&quot;, NR, $1+$2}</PRE></BLOCKQUOTE></P><PCLASS="para">The following input line:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">5   5</PRE></BLOCKQUOTE></P><PCLASS="para">produces this output, followed by a newline:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">The sum on line 1 is 10.</PRE></BLOCKQUOTE></P><PCLASS="para">&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">rand</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">rand()</CODE>Generate a random number between 0 and 1.<ACLASS="indexterm"NAME="AUTOID-37988"></A>This function returns thesame series of numbers each time the script is executed, unless the randomnumber generator is seeded using the <EMCLASS="emphasis">srand(&nbsp;)</EM> function. (<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">return</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">return </CODE>[<CODECLASS="replaceable"><I>expr</I></CODE>]Used at end of user-defined functions to exit the function,<ACLASS="indexterm"NAME="AUTOID-37999"></A>returning value of expression <CODECLASS="replaceable"><I>expr</I></CODE>, if any. (<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">sin</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">sin(</CODE><CODECLASS="replaceable"><I>x</I></CODE><CODECLASS="literal">)</CODE><ACLASS="indexterm"NAME="AUTOID-38011"></A>Return sine of <CODECLASS="replaceable"><I>x</I></CODE> (in radians).(<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">split</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">split(</CODE><CODECLASS="replaceable"><I>string</I></CODE><CODECLASS="literal">,</CODE><CODECLASS="replaceable"><I>array</I></CODE>[<CODECLASS="literal">,</CODE><CODECLASS="replaceable"><I>sep</I></CODE>]<CODECLASS="literal">)</CODE>Split <CODECLASS="replaceable"><I>string</I></CODE> into elements of <CODECLASS="replaceable"><I>array</I></CODE><ACLASS="indexterm"NAME="AUTOID-38029"></A><CODECLASS="literal">array[1],...array[</CODE><CODECLASS="replaceable"><I>n</I></CODE><CODECLASS="literal">]</CODE>.<CODECLASS="replaceable"><I>string</I></CODE>is split at each occurrence of separator <CODECLASS="replaceable"><I>sep</I></CODE>.(In <EMCLASS="emphasis">nawk</EM>, the separator may be a regular expression.)If <CODECLASS="replaceable"><I>sep</I></CODE> isnot specified, <EMCLASS="emphasis">FS</EM> is used.The number of array elements created isreturned.&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">sprintf</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">sprintf (</CODE><CODECLASS="replaceable"><I>format </I></CODE>[<CODECLASS="literal">, </CODE><CODECLASS="replaceable"><I>expression(s)</I></CODE>]<CODECLASS="literal">)</CODE>Return the value of <CODECLASS="replaceable"><I>expression(s)</I></CODE>, using the specified <CODECLASS="replaceable"><I>format</I></CODE><ACLASS="indexterm"NAME="AUTOID-38051"></A>(see <EMCLASS="emphasis">printf</EM>).Data is formatted but not printed.&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">sqrt</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">sqrt(</CODE><CODECLASS="replaceable"><I>arg</I></CODE><CODECLASS="literal">)</CODE>Return square root of <CODECLASS="replaceable"><I>arg</I></CODE>.<ACLASS="indexterm"NAME="AUTOID-38063"></A>&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">srand</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">srand(</CODE><CODECLASS="replaceable"><I>expr</I></CODE><CODECLASS="literal">)</CODE><ACLASS="indexterm"NAME="AUTOID-38073"></A>Use <CODECLASS="replaceable"><I>expr</I></CODE> to set a new seed for random number generator.Default is time of day.Returns the old seed.(<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">sub</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">sub(</CODE><CODECLASS="replaceable"><I>r</I></CODE><CODECLASS="literal">,</CODE><CODECLASS="replaceable"><I>s</I></CODE>[<CODECLASS="literal">,</CODE><CODECLASS="replaceable"><I>t</I></CODE>]<CODECLASS="literal">)</CODE>Substitute <CODECLASS="replaceable"><I>s</I></CODE> for first match of the<ACLASS="indexterm"NAME="AUTOID-38090"></A>regular expression <CODECLASS="replaceable"><I>r</I></CODE> in the string <CODECLASS="replaceable"><I>t</I></CODE>.Return1 if successful; 0 otherwise.If <CODECLASS="replaceable"><I>t</I></CODE> is not supplied,defaults to <CODECLASS="literal">$0</CODE>. (<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">substr</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">substr(</CODE><CODECLASS="replaceable"><I>string</I></CODE><CODECLASS="literal">,</CODE><CODECLASS="replaceable"><I>m</I></CODE>[<CODECLASS="literal">,</CODE><CODECLASS="replaceable"><I>n</I></CODE>]<CODECLASS="literal">)</CODE>Return substring of <CODECLASS="replaceable"><I>string</I></CODE> beginning at character position<ACLASS="indexterm"NAME="AUTOID-38110"></A><CODECLASS="replaceable"><I>m</I></CODE> and consisting of the next <CODECLASS="replaceable"><I>n</I></CODE> characters.If <CODECLASS="replaceable"><I>n</I></CODE> isomitted, include all characters to the end of string.&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">system</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">system(</CODE><CODECLASS="replaceable"><I>command</I></CODE><CODECLASS="literal">)</CODE>Function that executes the specified UNIX <CODECLASS="replaceable"><I>command</I></CODE> and returns its<ACLASS="indexterm"NAME="AUTOID-38124"></A><SPANCLASS="link">status (<ACLASS="linkend"HREF="ch44_07.htm"TITLE="Exit Status of UNIX Processes ">44.7</A>)</SPAN>.The status of the command that is executed typicallyindicates its success (0) or failure (non-zero).The output of the command is not available for processingwithin the <EMCLASS="emphasis">nawk</EM> script.Use <CODECLASS="replaceable"><I>command</I></CODE>&nbsp;<CODECLASS="literal">|</CODE>&nbsp;<CODECLASS="literal">getline</CODE> toread the output of the command into the script. (<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">tolower</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">tolower(</CODE><CODECLASS="replaceable"><I>str</I></CODE><CODECLASS="literal">)</CODE>Translate all uppercase characters<ACLASS="indexterm"NAME="AUTOID-38140"></A>in <CODECLASS="replaceable"><I>str</I></CODE> to lowercase and return the new string. (<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">toupper</CODE></DT><DDCLASS="listitem"><PCLASS="para"><CODECLASS="literal">toupper(</CODE><CODECLASS="replaceable"><I>str</I></CODE><CODECLASS="literal">)</CODE>Translate all lowercase characters<ACLASS="indexterm"NAME="AUTOID-38152"></A>in <CODECLASS="replaceable"><I>str</I></CODE> to uppercase and return the new string. (<EMCLASS="emphasis">nawk</EM>)&#13;</P></DD><DTCLASS="term"><CODECLASS="literal">while</CODE></DT><DDCLASS="listitem"><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen"><CODECLASS="literal">while (</CODE><CODECLASS="replaceable"><I>condition</I></CODE><CODECLASS="literal">)</CODE>      <CODECLASS="replaceable"><I>command</I></CODE></PRE></BLOCKQUOTE>Do <CODECLASS="replaceable"><I>command</I></CODE> while <CODECLASS="replaceable"><I>condition</I></CODE> is true (see <CODECLASS="literal">if</CODE> for a<ACLASS="indexterm"NAME="AUTOID-38169"></A>description of allowable conditions).A series of commands must be put within braces (<CODECLASS="literal">{}</CODE>).</P></DD></DL><ACLASS="indexterm"NAME="AUTOID-38172"></A><ACLASS="indexterm"NAME="AUTOID-38173"></A><ACLASS="indexterm"NAME="AUTOID-38174"></A><ACLASS="indexterm"NAME="AUTOID-38175"></A><ACLASS="indexterm"NAME="AUTOID-38176"></A></DIV><DIVCLASS="sect1info"><PCLASS="SECT1INFO">- <SPANCLASS="authorinitials">DG</SPAN> <SPANCLASS="bibliomisc">from O'Reilly &amp; Associates' <CITECLASS="citetitle">UNIX in a Nutshell (SVR4/Solaris)</CITE></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="ch33_10.htm"TITLE="33.10 Quick Globals from the Command Line with qsubst "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 33.10 Quick Globals from the Command Line with qsubst "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="ch33_12.htm"TITLE="33.12 Versions of awk "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 33.12 Versions of awk "BORDER="0"></A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172">33.10 Quick Globals from the Command Line with qsubst </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">33.12 Versions of awk </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 + -