awk取每行最大值


需求

  • 有一個數字文本,每行都是數字,以空格分開;現在需要將每行中最大值取出來

文本如下:

[root@localhost ~]#cat urfile
1   1     2
1   2     1
1   3     1
  • 使用awk解決
[root@localhost ~]#awk 'BEGIN{n=1;max=0;nu=0}{for(n=1;n<=NF;n++){a[$n]=$n;if(a[$n]>=max)max=a[$n]}{print max}{max=0}}' urfile
2
2
3
解釋說明

使用數組將每個數字記錄,然后將每個值與max變量比較,若比max大,則將內容賦予max;使用nu記錄行號,每行執行最后將max置0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM