【问题标题】:Shell Script to find the max. number within string查找最大值的 Shell 脚本。字符串中的数字
【发布时间】:2019-08-08 13:34:03
【问题描述】:

我在每个跟踪中的目录 /instance-1/trace/(日志文件)中有一个跟踪文件列表我有一个公共文本后跟一些数字,这可能在跟踪文件中重复。

例如

文本包含:

For an API WebAPI v1.2 with concurrent request is 3

我需要找到这个最大为一个的字符串

For an API WebAPI v1.2 with concurrent request is 2

For an API WebAPI v1.2 with concurrent request is 7

For an API WebAPI v1.2 with concurrent request is 5

结果应该返回 对于并发请求的 API WebAPI v1.2 为 7

它应该跟踪/instance-1/trace/目录中的所有文件并找出最大值

我刚刚在/instance-1/trace/内试过

grep -r "For an API WebAPI v1.2 with concurrent request is" ./*

我得到了以下结果,但很难手动找到最大值。

./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:09.587 [646b:351b4c5dd5f2655a035303d6] 对于 API WebAPI v1.2 并发请求为 2 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:09.906 [6b5c:351b4c5dd6f274729b136ad7]
对于具有并发请求的 API WebAPI v1.2 为 2 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:10.052 [646b:361b4c5dd7f2e6c9ca3c5600] 对于 API WebAPI v1.2 并发请求为 3 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:10.487 [7358:361b4c5dd8f2d9235dd8f517]
对于具有并发请求的 API WebAPI v1.2 为 3 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:10.771 [5ed7:361b4c5dd9f23edba4fa8f60] 对于 API WebAPI v1.2 并发请求为 3 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:11.145 [7259:371b4c5ddaf2a716aebd782a]
对于具有并发请求的 API WebAPI v1.2 为 3 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:11.392 [5ed7:371b4c5ddbf25da83a425098] 对于 API WebAPI v1.2 并发请求为 2 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:11.713 [6b5c:371b4c5dddf2d7c43874b335]
对于具有并发请求的 API WebAPI v1.2 为 2 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:11.888 [731c:371b4c5ddef29e04442ee731] 对于 API WebAPI v1.2 并发请求为 3 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:12.674 [71bf:381b4c5ddff20094166f6893]
对于具有并发请求的 API WebAPI v1.2 为 2 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:12.966 [5ed7:381b4c5de0f27bd259a6f485] 对于 API WebAPI v1.2 并发请求为 2 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:13.241 [72fc:391b4c5de3f2f63d9528d2a9]
对于具有并发请求的 API WebAPI v1.2 为 3 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:13.635 [7196:391b4c5de4f2ae81238c4f93] 对于 API WebAPI v1.2 并发请求为 1 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:13.686 [72fe:391b4c5de5f2bf0a96e33a8b]
对于具有并发请求的 API WebAPI v1.2 为 2 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:14.201 [72fc:3a1b4c5de8f2c076364ad6f3] 对于 API WebAPI v1.2 并发请求为 3 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:14.525 [6b5c:3a1b4c5deaf2855760b22c4b]
对于具有并发请求的 API WebAPI v1.2 为 3 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:14.678 [7196:3a1b4c5decf2fff0884c4592] 对于 API WebAPI v1.2 并发请求为 4 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:14.936 [7357:3a1b4c5dedf244d43697b6a5]
对于具有并发请求的 API WebAPI v1.2 为 3 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:15.190 [72fc:3b1b4c5deef2922ac607f5db] 对于 API WebAPI v1.2 并发请求为 3 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:15.462 [71f1:3b1b4c5deff28a823d628247]
对于具有并发请求的 API WebAPI v1.2 为 2 ./node01_20190808120500.trc:INFO 08/Aug/2019:14:53:15.545 [7358:3b1b4c5df0f29095c7c21232] 对于 API WebAPI v1.2 并发请求为 3 ./node01_20190808120500.trc:INFO
2019 年 8 月 8 日:14:53:16.407 [646b:3c1b4c5df3f2cb720a5c29c8]
对于 API WebAPI v1.2 ..................................................... ..................................................... ……………………………………………………………………………………………………………………………………………… 还有一些相同的

【问题讨论】:

    标签: any


    【解决方案1】:

    您可以使用参数 --color 在结果中显示搜索字符串

    【讨论】:

    • 您好 Thomas 感谢您的评论,但这将获得相同的字符串列表,但颜色不同,我必须再次手动查找哪个具有最大值。
    • egrep -r -Hno "对于具有并发请求的 API WebAPI v1.2 是 ([0-9]+)" ./*|sort -n -f10|tail -f10|tail 字段:文件名:行号:字符串
    • 抱歉错字: egrep -r -Hno "对于一个 API WebAPI v1.2 并发请求是 ([0-9]+)" ./*|sort -n -f10|tail -f1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多