GAWK 手册(五)第五章 patterns 在 gawk 程式里面,当 pattern 符合现在的输入记录(record),其相对应的 action 才会被执行。 5.1 Pattern的种类 这里对 gawk 的各种 pattern 型式作一整理:
一个单一的 expression。当一个值不为 0 或一个字串不是空的, 则可视为符合。
一对的 patterns 以逗号分开,指定记录的□围。
这是特别的 pattern, gawk 在开始执行或要结束时会分别执行相对应於BEGIN或END的 action。
这是一个空的pattern,对於每个输入记录皆视为符合pattern。
5.2 Regular Expressions当作Patterns 一个 regular expression 可简写为 regexp,是一种描述字串的方法。一个 regular expression 以斜线('/')包围当作 gawk 的 pattern。 如果输入记录含有 regexp 就视为符合。例如:pattern 为 /foo/, 对於任何输入记录含有'foo'则视为符合。 下面的例子会将含有'foo'的输入记录之第2个栏位印出。
结果如下:
regexp 也能使用在比较的算式。
如果 exp 符合 regexp,则结果为真(true)。
如果 exp 不符合 regexp,则结果为真。 5.3 比较的算式当作Patterns 比较的 pattern 用来测试两个数字或字串的关系诸如大於、等於、小於。下面列出一些比较的pattern:
上面所提到的 x 与 y,如果二者皆是数字则视为数字之间的比较, 否则它们会被转换成字串且以字串的形式做比较。两个字串的比较, 会先比较第一个字元,然後比较第二个字元,依此类推,直到有不同 的地方出现为止。如果两个字串在较短的一个结束之前是相等,则视 为长的字串比短的字串大。例如 "10" 比 "9" 小,"abc" 比 "abcd" 小。 5.4 使用布林运算的Patterns 一个布林(boolean) pattern 是使用布林运算"或"(),"及" (''&&'),"反"('!')来组合其它的pattern。 例如:
上一篇:GAWK 手册(四) 下一篇:GAWK 手册(六) 更多相关文章
|
推荐文章
精彩文章
|