【发布时间】:2014-06-02 04:39:42
【问题描述】:
在使用通过命令行传递的字段分隔符和在脚本中使用 FS=":" 时,我无法理解 awk 的行为差异。
我认为使用-F 提供字段分隔符和在awk 中使用FS 变量是一回事。
但如果我这样做:
awk -F: '{}' /etc/passwd
由于空操作 ({}),它不会按预期打印任何内容。
而且,如果我写一个脚本:
#!/usr/bin/awk -f
{}
没有任何行被打印到输出中,正如预期的那样。
现在,如果我将字段分隔符放在脚本中,如下所示:
#!/usr/bin/awk -f
FS=":";
{}
它再次打印所有行!
所以,我想禁止脚本中的默认打印操作,因为我将在该操作中进行一些计算并稍后在END 部分中打印结果。如果不先 awk 打印所有行,我该怎么做?
【问题讨论】: