小编Len*_*nna的帖子

bash 计数数字的数量

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

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
Run Code Online (Sandbox Code Playgroud)

我想知道每个字符串中数字的确切数量。对于上面的例子,答案应该是 [3, 3, 3, 4]。我不想将字符串计算b4n4n45为“数字”。只应计算整数字符串。

我尝试使用 grep 和正则表达式:

$ echo $string | grep '[0-9]' | wc
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。有小费吗?

awk grep sed

13
推荐指数
6
解决办法
482
查看次数

Bash 合并文件行

我有一个保存测试输出的文件。

test 1  
42  
test 2  
69  
test 3  
420  
test 4  
55378008  
Run Code Online (Sandbox Code Playgroud)

我想让测试输出与测试名称出现在同一行。像这样:

test 1:    42  
test 2:    69  
test 3:    420  
test 4:    55378008  
Run Code Online (Sandbox Code Playgroud)

我相信有一些奇特sedawkperl办法做到这一点,但我坚持。

bash awk sed

3
推荐指数
1
解决办法
197
查看次数

从列表中的字符串中提取所有数字

给定一些字符串 's' 我只想从该字符串中提取数字。我希望输出的数字每个都用一个空格分隔。

示例输入 -> 输出

....输入:1,2,3
输出:1 2 3

....输入:1 2 a b c 3
输出:1 2 3

....输入:ab#35jh71 1,2,3 kj$d3kjl23
输出:35 71 1 2 3 3 23

我已经试过的组合grep -o [0-9]grep -v [a-z] -v [A-Z],但问题是,其他字符喜欢-#可以在数字之间使用。不管我需要他们的数字之间的非数字字符数量与一个被替换单一空间。

我也一直在尝试awksed,但有一点运气。

awk sed tr

1
推荐指数
1
解决办法
70
查看次数

标签 统计

awk ×3

sed ×3

bash ×1

grep ×1

tr ×1