gpt4 book ai didi

linux - 如何用awk计算文件中的所有数字?

转载 作者:太空狗 更新时间:2023-10-29 11:03:43 24 4
gpt4 key购买 nike

我想计算文件中的所有数字。

示例:

input -> Hi, this is 25 ...
input -> Lalala 21 or 29 what is ... 79?

输出应该是所有数字的总和:154(即 25+21+29+79)。

最佳答案

从这里beautiful answer by hek2mgl关于如何提取文件中最大的数字,让我们捕获文件中的所有数字并将它们相加:

$ awk '{for(i=1;i<=NF;i++){sum+=$i}}END{print sum}' RS='$' FPAT='-{0,1}[0-9]+' file
154

这以整个文本 block 是唯一记录的方式设置记录分隔符。然后,它设置 FPAT这样每个数字(正数或负数)都是一个不同的字段:

FPAT #

A regular expression (as a string) that tells gawk to create the fields based on text that matches the regular expression. Assigning a value to FPAT overrides the use of FS and FIELDWIDTHS for field splitting.

关于linux - 如何用awk计算文件中的所有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37275098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com