linux查找文件内容中的最大数字 使用ark命令寻找max、min
目标文件很大,人工找寻最大值极其困难,可以借助ark完成
文件内容如下:
cat tri5a.txt|sed -n 1p
#打印第一行,每行第一个域是标签,其余全是数字
cat tri5a.txt|sed -n 2p
#打印第二行
#总行数12101,总字数5452492
进入正题,想法就是利用ark遍历每行求得局部max(行),将得到的结果按从大到小排序(去除重复),再取第一个作为全局max
cat tri5a.txt | awk -vmax=0 '{for(n=2;n<=NF;n++){if(max<$n)max=$n;};print max}'|sort -u -r|sed -n 1p
同理可求min:
cat tri5a.txt | awk -vmin=10000 '{for(n=2;n<=NF;n++){if(min>$n)min=$n;};print min}'|sort|sed -n 1p