Chinaunix

标题: awk的换行符原来和分号是等价的 [打印本页]

作者: bulletmarquis    时间: 2014-10-23 16:43
标题: awk的换行符原来和分号是等价的
一直以为awk里面可以随意换行,结果今天习惯性的用这个写法
  1. /xxx/
  2. {
  3.   do xxx
  4. }
复制代码
发现每行记录读取必进{},折腾了好久,才明白不能随便换行

试验一下
  1. seq 3|awk '/2/{print}'
  2. 2

  3. seq 3|awk '/2/
  4.     {print}'
  5. 1
  6. 2
  7. 2
  8. 3

  9. seq 3|awk '/2/{
  10.     print}'
  11. 2
复制代码
{:2_177:}
下次一定要小心了。。。
作者: ly5066113    时间: 2014-10-23 16:48
回复 1# bulletmarquis


左括号 { 必须和 pattern 在同一行,后面的没关系
写 BEGIN、 END 的时候也一样, { 必须和它们再同一行
作者: bulletmarquis    时间: 2014-10-23 17:21
回复 2# ly5066113


    唉。。。为这个小问题折腾了一个多小时,囧=。=

   还以为是其他地方的判断出了问题,后来果断简单先测试了一下,才找到原因
作者: jason680    时间: 2014-10-23 17:52
本帖最后由 jason680 于 2014-10-23 23:27 编辑

回复 1# bulletmarquis

seq 3|awk '/2/   
    {print}'

it will be the same as below:
seq 3|awk '/2/;{print}'
1
2
2
3

using this way for programming style
seq 3|awk '
  /2/{
    print
  }
'
2


   
作者: zooyo    时间: 2014-10-23 19:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: yestreenstars    时间: 2014-10-23 22:23
回复 4# jason680

正解~{:3_193:}
   
作者: seesea2517    时间: 2014-10-24 11:12
感谢分享~大坑小坑大家一起埋。
作者: Herowinter    时间: 2014-10-24 11:24
回复 7# seesea2517

以本版的人气,这种坑踩踩就平了.)
   
作者: Herowinter    时间: 2014-10-24 11:26
回复 6# yestreenstars
大神, 目测下个月就要富可敌国了,
到时别忘了发红包啊.

   
作者: yestreenstars    时间: 2014-10-24 11:28
回复 9# Herowinter

真的可以吗?{:3_200:}
   
作者: davidbeckham921    时间: 2014-10-24 13:18
很有意思!以前确实没注意,一般都写一行里。学习了!!!
作者: 刺客阿地    时间: 2014-10-27 11:31
长知识,学习了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2