awk - 与 ; 之间的区别 并且没有;在 awk 命令的表达式中
问题描述
我有一个关于 awk 的问题,命令:
awk 'NR!=1 {print $0}' FILENAME
并awk 'NR!=1;{print $0}' FILENAME
会产生不同的结果。
我想知道表达式中有;
和没有有什么区别。谢谢;
解决方案
awk 程序是一系列模式/动作对。该程序
awk 'NR!=1 {print $0}'
{print $0}
对任何为NR!=1
真的记录执行命令,但是
awk 'NR!=1;{print $0}'
有 2 个模式动作对。第一个是NR!=1
默认操作(因为没有指定操作)。默认操作是打印,以便对打印除第一条记录之外的所有记录。第二个模式/动作对没有模式,所以它总是执行,打印每条记录。
也许将第二个重写为:
awk 'NR!=1{print}
1{print $0}'
使两个模式/动作对明确。
推荐阅读
- javascript - 如何从一组数组中返回索引 - 1
- angular - Angular(点击)方法返回未定义
- javascript - 添加验证以通知用户如果他们忘记了一个值并收到第二个和第三个值为空的错误
- c# - 添加 CustomXmlPart 后 Word 无法打开文档
- python-3.x - 是否可以以编程方式使用 pip 安装 python 库?
- android - 如何避免在改造 2 中的 OkHttpClient 中写入计时器重置
- windows - 如何将文件名传递给内核模式驱动程序?
- python-3.x - 如何在 JupyterLab 中安全地停止无限循环?
- java - 实现基本 dao,我得到错误参数类型必须是用 @Entity 注释的类或其集合/数组
- apache-spark - HDFS vs HDFS with YARN,如果我使用spark,我可以进行新的资源管理吗?