使用bash脚本,我只想计算零之间的数字。是否可以使用awk?对不起,我是新来的。
5000000000009228247152000000000000000000003
5000000000006338293700000000000000000000001
答案 0 :(得分:2)
grep -Po '0+\K[^0]+(?=0)'
给你:
9228247152
63382937
如果事情可以在一个过程中轻松完成(这里是awk),我就不会开始第二个过程。
awk -F'0+' 'NF>2{for(i=2;i<NF;i++)printf "text:%s count:%d\n",$i,length($i)}'
给出:
text:9228247152 count:10
text:63382937 count:8
awk -F'0+' 'NF>2{for(i=2;i<NF;i++)print length($i)}'
给出:
10
8
答案 1 :(得分:0)
使用sed
:
echo 5000000000009228247152000000000000000000003 | \
sed -n -r -e 's/0+([^0]+)0+/\1/' | wc -m
答案 2 :(得分:0)
$ grep -oP '0+\K[1-9]+(?=0+)' file
9228247152
63382937
计算位数,
$ grep -oP '0+\K[1-9]+(?=0+)' file | awk -v FS="" '{print NF}'
10
8