我试过但没用:
count1=0;
count2=0;
for n in $*
do
for(i=1;i<='wc -l <$n';i++) do
if [[ $i == *"[0-9]* ]]; then
count1=count1+1;
else
count2=count2+1;
fi
done
done
count1表示包含整数的行,count2表示不包含整数的行。
输入:
yes 145 10
no no
10 20
输出:
count1=2, count2=1
最佳答案
使用grep -c
计算与regexp匹配的行数。使用-v
选项计算不匹配的行数。
count1=$(grep -c "[0-9]" "$@")
count2=$(grep -v -c "[0-9]" "$@")