微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Shell脚本:在没有排序的情况下查找整数序列中的最大值

我有一个长整型整数的文件
10
4
66
....

我想使用UNIX命令行工具找到最大值.我知道我可以使用sort(并且确实存在使用sort的SO上的这个问题的解决方案),但是效率不高,需要O(N * log(N))和大量的内存.使用一个简单的for循环,我应该可以找到O(N)和几个字节的内存中的最大值.

似乎有一些程序在那里(名称像max),这是开箱即用 – 是真的吗?

尝试这个:
awk '$0>x{x=$0};END{print x}' input.txt

[更新:]

awk 'BEGIN{x=-2147483648};$0>x{x=$0};END{print x}' input.txt

初始化x允许解决方案正确处理值为< = 0的整数列表.有关更多详细信息,请参阅注释.

原文地址:https://www.jb51.cc/bash/383719.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐