假设有一个带有制表符分隔字段的输入文件,第一个字段是整数
1 abc
1 def
1 ghi
1 lalala
1 heyhey
2 ahb
2 bbh
3 chch
3 chchch
3 oiohho
3 nonon
3 halal
3 whatever
首先,我需要计算第一个字段中唯一值的计数,即:
5 for 1, 2 for 2, and 6 for 3
然后我需要找到这些计数的最大值,在本例中为 6。
现在我需要将“6”作为参数传递给另一个 awk 脚本。
我知道我可以使用下面的命令来获取计数列表:
cut -f1 input.txt | sort | uniq -c | awk -F ' ' '{print $1}' | sort
但是我如何获取第一个计数并将其作为参数而不是作为输入文件传递给下一个 awk 命令?
这对 awk 来说并不是什么特别的事情。
程序可以从 stdin 读取,然后您可以使用管道传递输入:
prg1 | prg2
或者您的程序需要输入作为参数,然后您使用
prg2 $(prg1)
请注意,在这两种情况下,prg1 都会先于 prg2 进行处理。
有些程序允许这两种可能性,但很少将大量数据作为参数传递。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)