gpt4 book ai didi

awk - bash 计数数字的数量

转载 作者:行者123 更新时间:2023-12-04 11:20:29 25 4
gpt4 key购买 nike

我有几个空格分隔的字符串:

1 -2 3  
1 23 456
apple 69 b4n4n45 gr4pe5 -420 lol 10101010101 lol
1 23 a99 99a 9a9 -1 -23 -a99 -99a -9a9 --1 --23 --a99 --99a --9a9
我想知道每个字符串中数字的确切数量。对于上面的例子,答案应该是 [3, 3, 3, 4]。我不想将像 b4n4n45 这样的字符串算作“数字”。只应计算纯整数字符串。
我尝试使用 grep 和正则表达式:
$ echo $string | grep '[0-9]' | wc
但这对我不起作用。有小费吗?

最佳答案

您能否尝试以下操作(使用显示的样本进行测试和编写),这也应该包括负数,因为 OP 提到了整数,所以我没有考虑过计算浮点数。它给出的输出为 3 3 3对于提到的 3 行样本。

awk '
{
for(i=1;i<=NF;i++){
if(length(int($i))==length($i)){ count++ }
}
print count
count=""
}' Input_file

关于awk - bash 计数数字的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64547896/

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