Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190966
  • 博文数量: 49
  • 博客积分: 1959
  • 博客等级: 上尉
  • 技术积分: 492
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-08 16:23
文章分类

全部博文(49)

文章存档

2012年(8)

2011年(34)

2008年(7)

分类:

2011-04-28 23:09:53

比较表达式用来对文本行进行比较,只有条件为真,才执行指定的动作。比较表达式使用关系运算符,用于比较数字与字符串。关系表达式的计算结果为真时,表达式的值为1;反之,则为0。
假设表达式的值是一个数,与其比较的却是个字符串值,二者之间的运算符如果是用于数值比较的运算符,则字符串值将被转换为一个数值,如果是用于字符串比较的运算符,则数值被转换为字符串值。

条件表达式的运算要用到两个符号:问号和冒号,格式如:条件表达式1 ? 表达式2 : 表达式3,其实就是if/else语句的捷径。
可以在模式中执行计算,所有版本的awk都按浮点方式执行算术运算。

逻辑操作符用来测试表达式或模式的真假。
复合模式是用逻辑运算符将模式组合起来形成的表达式,表达式的计算是从左往右的。
运算符&&(逻辑与)要求两个条件都为真则结果为真,否则为假;
运算符||(逻辑或)只要求有一个条件必须为真则结果为真,否则为假;
一元运算符!(逻辑非)对条件的结果求反。

范围模式先匹配从第一个模式的首次出现到第二个模式的首次出现之间的内容,然后匹配从第一个模式的下一次出现到第二个的下一次出现,以此类推。如果匹配到第一个模式而没有发现第二个模式,awk就将显示从第一个模式首次出现的行到文件末尾之间的所有行。

阅读(1043) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~