已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
6天前关闭。
Improve this question
使用linux命令或bash,当第3列的对应条目是相同的值时,如何将第6列的条目打印为单行。例如,在下面的示例文件中,当第3列的值为1(第1行和第2行)时,打印'4 103',当第3列的值为2(第3行和第4行)时,打印'113 4',等等。
预期输出应为:
4 103
113 4
103 4 4 103
203
我尝试过使用awk来选择第3列取特定值时的行(即第3列仅为1时),但当第3列可以取任何整数值时,我无法找到实现这一点的方法。谢谢。
2条答案
按热度按时间mzmfm0qo1#
对于任何awk:
输出
azpvetkf2#
如果你想要一个更C风格的答案,那么:
你不需要初始化
last
,因为在awk中数字总是从0开始初始化。注意,如果第一行的第三列不是0,那么这将首先打印一个空行,然后是其余的东西。因此输出将是: