题解 | #打印每一行出现的数字个数#
打印每一行出现的数字个数
https://www.nowcoder.com/practice/2d2a124f98054292aef71b453e705ca9
#!/bin/bash OLD_IFS=$IFS IFS=$'\n' i=1 sum=0 for line in $(cat nowcoder.txt) do #echo "$line" | grep -Po '[1-5]{1}' nums=$(echo "$line" | grep -Po '[1-5]{1}' | wc -l) echo "line${i} number: $nums" i=`expr $i + 1` sum=`expr $sum + $nums` done echo "sum is $sum" IFS="$OLD_IFS"
默认IFS为空格,这里将其临时更改为换行符,并于脚本最后再将其改回去。
通过echo "$line" | grep -Po '[1-5]{1}'将每一行的1-5给匹配出来。