我有一个整数一长串文件:
10
4
66
....
我想找到使用UNIX命令行工具的最大值。 我知道我可以使用sort
(确实也有这个问题的解决方案上,使得在使用sort
),但这是效率低下,需要O(N *日志(N))和足够的内存。 用一个简单的for循环,我应该能够找到在O(N)的最大值和一对夫妇的内存字节。
这似乎肯定会有一些程序在那里(与像一个名字max
),这是否开箱---是真的吗?
我有一个整数一长串文件:
10
4
66
....
我想找到使用UNIX命令行工具的最大值。 我知道我可以使用sort
(确实也有这个问题的解决方案上,使得在使用sort
),但这是效率低下,需要O(N *日志(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。详情请参阅评论。
awk '{if($1>a)a=$1;}END{print a}' temp3
max=1
while read i
do
if [[ "$i" > "$max" ]]; then
max="$i"
fi
done < a.txt
echo "$max" > b.txt
A.TXT是输入文件(每行的整数)。 b.txt包含最大的A.TXT的整数。
排序-nr inputfile.txt | 头-1,其中inputfile.txt包含了所有的数字。