通过shell程序,我正在从.CSV文件中读取特定记录(超过100列),并通过与记录中的每个字符匹配来计数定界符(,)
我正在匹配读取存储在字符串中的每个字符并与char(,)比较以增加计数,如下所示
for i in $(seq 0 ${#recordString})
if [ "${recordString:$i:1}" == "$char" ]
我想了解在计数时如何忽略双引号中的定界符(,)
解决了以下问题
for i in $(seq 0 ${#recordString})
do
if [ "${recordString:$i:1}" == "$dqchar" ]
then
dqcount=$((dqcount+1))
fi
if [ "${recordString:$i:1}" == "$char" ]
then
if [ $(( $dqcount % 2)) -eq 0 ]
then
delCount=$((delCount+1))
echo $delCount
fi
if [ $i == $cmpPos ]
then
break
fi
fi
done