发布网友 发布时间:2024-10-24 00:19
共1个回答
热心网友 时间:15小时前
不知道你的文本格式是怎么样的...我猜想是像上面的文本内容连续输出在一个文本中,一开始是用“files changed”来匹配需要的行,然后用awk来取添加行的值和删除行的值,并分别输出到abc.txt和bcd.txt,lines是统计行数,最后再一个while循环...
随便写的,所以很难看,你看哪里需要改就自己改一下...
#!/bin/bash
ins=$(grep "files changed" test.txt | awk -F" " '{print $4}' > abc.txt)
del=$(grep "files changed" test.txt | awk -F" " '{print $6}' > bcd.txt)
lines=$(grep "files changed" test.txt | wc -l)
INS() {
local sum=0
local i=1
while [ "$i" -le "$lines" ]
do
b=$(sed -n "$i p" abc.txt)
sum=$(($sum+$b))
i=$(($i+1))
done
echo $sum
}
DEL() {
local sum=0
local i=1
while [ "$i" -le "$lines" ]
do
c=$(sed -n "$i p" bcd.txt)
sum=$(($sum+$c))
i=$(($i+1))
done
echo $sum
}
INS
DEL