果一样 , 它会印出现在的记录(record) 。要印出空白行可使用"print
""" 。印出一段固定的文字 , 可用双引号将文字的两边括起来 , 例如
"print "Hello there"" 。
这里是一个例子 , 它会把每个输入记录的前二个栏位印出:gawk "{print $1,$2}" shipped结果如下所示:
Jan 13
Feb 15
Mar 15
Apr 31
May 16
Jun 31
Jul 24
Aug 15
Sep 13
Oct 29
Nov 20
Dec 17Feb 26
Mar 24
Apr 214.2 Output Separators前面我们已提过如果 print 叙述包含有多个 item , item 之间
用逗点分开 , 则印出时各个item会被一个空白隔开 。你能够使用任何
的字串作为 output field separator , 可以居赡诮ū涫?OFS 的设
定来更改 output field separator 。OFS 的初始值为" " , 即一格的
空白 。整个 print 叙述的输出被称为 output record 。print 叙述输
出 output record 之後 , 会接著输出一个字串 , 此字串称为 output
record separator 。内建变数 ORS 用来指明此字串 。ORS 的初始值
为 " " , 也就是换行 。下面这个例子会印出每个记录的第一个栏位和第二个栏位 , 此二
(p16 of 46)
个栏位之间以分号";"分开 , 每行输出之後会加入一个空白行 。gawk "BEGIN {OFS=";"; ORS=" "} {print $1, $2}" BBS-list结果如下所示:
aardvark;555-5553alpo-net;555-3412barfly;555-7685bites;555-1675camelot;555-0542core;555-2912fooey;555-1234foot;555-6699macfoo;555-6480sdace;555-3430sabafoo;555-2127
4.3 printf叙述printf 叙述会使得输出格式较容易精确地控制 。printf 叙述可以
指定每个 item 印出的宽度 , 也可以指定数字的各种型式 。printf 叙述的格式如下:printf format, item1, item2, ...print 与 printf 的差别是在於 format, printf 的引数比 print
(p18 of
多了字串 format 。format 的型式与 ANSI C 的 printf 之格式相同 。printf 并不会做自动换行的动作 。内建变数 OFS 与 ORS 对 printf 叙
述没有任何影响 。格式的指定以字元"%"开始 , 後面接著格式控制字母 。格式控制字母如下所示:"c" 将数字以 ASCII 字元印出 。
例如"printf "%C",65"会印出字元"A" 。"d" 印出十进位的整数 。"i" 印出十进位的整数 。"e" 将数字以科学符号的形式印出 。
例如print "$4.3e",1950
(p19 of结果会印出"1.950e 03" 。"f" 将数字以浮点的形式印出 。"g" 将数字以科学符号的形式或浮点的形式印出 。数字的绝对值如果
大於等於0.0001则以浮点的形式印出 , 否则以科学符号的形式印
出 。"o" 印出无号的八进位整数 。"s" 印出一个字串 。"x" 印出无号的十六进位整数 。10至15以"a"至"f"表示 。"X" 印出无号的十六进位整数 。10至15以"A"至"F"表示 。"%" 它并不是真正的格式控制字母 , "%%"将印出"%" 。在 % 与格式控制字母之间可加入 modifier , modifier 是用来进一
步控制输出的格式 。可能的 modifier 如下所示:"-" 使用在 width 之前 , 指明是向左靠齐 。如果"-"没有出现 , 则会在
被指定的宽度向右靠齐 。例如:printf "%-4S", "foo"会印出"foo " 。"width" 这一个数字指示相对应的栏位印出时的宽度 。例如:printf "%4s","foo"会印出" foo" 。width 的值是一个最小宽度而非最大宽度 。如果一个 item 的
值需要的宽度比 width 大 , 则不受 width 的影响 。例如printf "%4s","foobar"
将印出"foobar" 。".prec" 此数字指定印出时的精确度 。它指定小数点右边的位数 。如
果是要印出一个字串 , 它指定此字串最多会被印出多少个字
元 。
第五章 patterns
在 gawk 程式里面 , 当 pattern 符合现在的输入记录(record) , 其
相对应的 action 才会被执行 。5.1 Pattern的种类这里对 gawk 的各种 pattern 型式作一整理:/regular expression/
(p22 of
一个 regular expression 当作一个 pattern 。每当输入记录 (
推荐阅读
- 8月4日 明基P50初期体验心得汇总2
- 王者嫦娥归月怎么用
- 口令篇 UNIX系统的安全
- 少是上下结构还是独体字 少是的结构
- 指标房和商品房的区别是什么
- 苹果花什么季节开的
- 卡西尼号探测器是探测什么系列天体的
- 12pro max背面是磨砂的吗
- sos求救信号如何在手机中设置
- 帮你做决定具体使用步骤介绍
