我想计算文件中的所有数字.
例:
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
这将记录分隔符设置为使整个文本块都是唯一记录.然后,将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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。