我有几个空格分隔的字符串:
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)
但这对我不起作用。有小费吗?
我有一个保存测试输出的文件。
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)
我相信有一些奇特sed,awk或perl办法做到这一点,但我坚持。
给定一些字符串 '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],但问题是,其他字符喜欢-和#可以在数字之间使用。不管我需要他们的数字之间的非数字字符数量与一个被替换单一空间。
我也一直在尝试awk和sed,但有一点运气。