我有一个包含很长整数列表的文件:
10
4
66
....
Run Code Online (Sandbox Code Playgroud)
我想使用UNIX命令行工具找到最大值.我知道我可以使用sort(事实上在使用的SO上有这个问题的解决方案sort),但这是低效的,需要O(N*log(N))和充足的内存.使用简单的for循环,我应该能够找到O(N)中的最大值和几个字节的内存.
似乎必须有一些程序(有一个名称max)开箱即用 - 这是真的吗?
kev*_*kev 26
试试这个:
awk '$0>x{x=$0};END{print x}' input.txt
Run Code Online (Sandbox Code Playgroud)
[更新:]
awk 'BEGIN{x=-2147483648};$0>x{x=$0};END{print x}' input.txt
Run Code Online (Sandbox Code Playgroud)
初始化x允许解决方案正确处理值<= 0的整数列表.有关更多详细信息,请参阅注释.
| 归档时间: |
|
| 查看次数: |
21759 次 |
| 最近记录: |