awk - 如何使用awk将第一列和第二列的第一行打印为单列?
问题描述
我正在尝试使用 awk 将第一列和第二列的第一行打印到单列中。我正在使用以下 awk one-liner
awk 'NR==1{printf $1 OFS; next}{print $2}' infile > new_file
Input:
A123 154.1
A123 158.1
A123 159.4
Expected Output:
A123
154.1
158.1
159.4
但是单行的结果输出如下
A123 154.1
158.1
159.4
我想知道是什么错误导致了输出的变化。我在代码中包含了 '\n' 但没有帮助。
先感谢您
解决方案
如果这不起作用,请添加更好的输入/输出示例。
$ awk 'NR==1{print $1} {print $2}' infile
A123
154.1
158.1
159.4
此外,awk
问题中显示的命令输出与给定示例不匹配。应该是这样的:
$ awk 'NR==1{printf $1 OFS; next}{print $2}' infile
A123 158.1
159.4
与print
函数不同,printf
不会自动添加 的值ORS
。并且由于next
, $2
of 第一行没有打印。
推荐阅读
- sql - 带有 FOR 循环和 IF ELSE 错误的 ORACLE SQL 过程
- typescript - 类型作为参数传递的递归泛型函数
- python - Celery 等待来自另一个请求的任务
- java - java.lang.ArrayIndexOutOfBoundsException:索引 20 超出长度 20 的范围
- flutter - 如何显示关于对话框?
- docker - GKE not able to reach MongoDB Atlas
- python - 当在执行 SVM 时预期一维数组出错时,传递了列向量 y?
- django - 在 Django 中创建计划
- c# - 如果给定的用户输入包含在该项目中,C# 返回搜索结果(项目)
- common-lisp - clsql 连接池