如果列数是4,那么我需要处理一些csv文件
file_1:
1,aa,bb,cc
2,dd,ee,ff
3,gg,hh,ii
file_2:
1,xx
2,yy
3,zz
4,xy
我正在使用awk
for file in file_1 file_2 ... file_n
do
if [[ `awk -F"," 'NF==4' $file` ]]
then
#process
else
continue
fi
done
我正在寻找
的解决方案答案 0 :(得分:1)
解决方案1: 如果您想检查任何一行是否没有4个字段并移至下一个文件,那么以下内容可能对您有帮助。
awk -F, 'NF!=4{nextfile} 1' File_*
解决方案第二: 如果您只想跳过那些没有4个字段的行,那么以下内容可以帮助您。
awk -F, 'NF!=4{next} 1' File_*
答案 1 :(得分:1)
您可以使用:
for f in file_1 file_2 file_n; do
if awk -F, 'NF!=4{exit 1}' "$f"; then
echo "good $f"
else
echo "bad $f"
fi
done
此awk
只要找到没有列不等于1
的记录就会4
退出。