我有多个csv文件(68个文件) 行就像
2#21231#132#1231132#26#123#0#1#81#44123#A#1236#123#
我想检查每一行的第11列的长度是否等于208.我想计算第11列的长度等于208的多少行(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
提前致谢
答案 0 :(得分:2)
$ awk -F'#' 'length($11)==208 {c++} END { print c+0 }' *.csv
答案 1 :(得分:0)
你想要这样的东西吗?
awk -F'#' '{c+=(length($11)==208?1:0)}END{printf "count=%d\n",c}' *.csv