我有一个多个CSV文件(68个文件)排就像
2#21231#132#1231132#26#123#0#1#81#44123#A#1236#123#
我想检查每行11列的长度是否等于208。我想计算列11的行数等于208(count = count = count 1)
我尝试了脚本波纹管,但我得到的计数总是0
#!/bin/bash
date
ext='.UTF'
c=0
LIMIT=208
FILES=//DOC/*
for f in $FILES
do filename=$(echo $f| cut -d'/' -f 10)
awk 'BEGIN{FS=OFS="#"}
{ for(i=11;i<12;i++){
if (length($i) -eq LIMIT);
then let "c += 1";
print ''length($i);
fi
}
} $i 1' $f
done
echo 'count == c'$c
预先感谢
$ awk -F'#' 'length($11)==208 {c++} END { print c+0 }' *.csv
您想要这样的东西吗?
awk -F'#' '{c+=(length($11)==208?1:0)}END{printf "count=%dn",c}' *.csv