linux – 如何使用AWK打印最高编号的行?

linux – 如何使用AWK打印最高编号的行?,第1张

概述我有个问题.假设我转储一个文件并为foo做一个grep,结果如下: Foo-bar-120:'foo name 1'Foo-bar-130:'foo name 2'Foo-bar-1222:'foo name 3' 等等. 我想要的只是尝试提取最大数字的foo名称.例如,在这种情况下,最大数字是1222,我期望的结果是foo名称3 有没有一种简单的方法使用awk和sed来实现这一目标?而不 我有个问题.假设我转储一个文件并为foo做一个grep,结果如下: @H_419_7@

@H_419_7@

Foo-bar-120:'foo name 1'Foo-bar-130:'foo name 2'Foo-bar-1222:'foo name 3'
@H_419_7@等等.

@H_419_7@我想要的只是尝试提取最大数字的foo名称.例如,在这种情况下,最大数字是1222,我期望的结果是foo名称3

@H_419_7@有没有一种简单的方法使用awk和sed来实现这一目标?而不是逐行拉出数字并循环查找最大数字?

解决方法 这是我将如何做到这一点.我刚在Cygwin测试过这个.希望它也可以在linux下运行.把它放到一个文件中,例如mycommand: @H_419_7@

@H_419_7@

#!/usr/bin/awk -fBEGIN {        FS="-";        max = 0;        maxString = "";}{        num =  + 0; # convert string to int        if (num > max) {                max = num;                split(,arr,"'");                maxString = arr[2];        }}END {        print maxString;}
@H_419_7@然后使文件可执行(chmod 755 mycommand).现在,您可以通过键入来管理您想要的任何内容,例如,cat somefile | ./mycommand.

总结

以上是内存溢出为你收集整理的linux – 如何使用AWK打印最高编号的行?全部内容,希望文章能够帮你解决linux – 如何使用AWK打印最高编号的行?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1023525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存