执行结果
代码
[root@centos76_1 ccx]# cat num.sh
#!/bin/bash
#########################################################
#计算文档每行出现的数字个数,并计算整个文档的数字总数
########################################################
# 需要统计的文档路径
file=/data/test2
#使用awk只输出文档行数(截取第一段)
n=`wc -l $file | awk '{print $1}'`
#用于累计总数
sum=0
#文档中每一行可能存在空格,因此不能直接用文档内容进行遍历
# seq 1 $n 是从第一行开始,到上面n参数统计的行数为结尾(遍历的一种形式)
for i in `seq 1 $n` ; do
#输出的行用变量表示时,需要用双引号
# sed -n 1p 就是打印第一行的意思,一般n和p同时使用
line=`sed -n "$i"p $file `
#去除所有空格
dele=`echo $line|sed 's/[[:space:]]//g'`
#将结果定义为参数
one_num=${#dele}
echo "第"$i"行字数为:"=$one_num
#累计每行字数
sum=`expr $one_num + $sum`
done
#打印总字数
echo "该文档总字数为:$sum"
[root@centos76_1 ccx]#