linux shell:如何用awk命令查看csv文件中是否有多于首行字段数的行
2011-10-11 11:02
573 查看
思路是:
1 查看csv第一行的字段数,逗号(,)是分隔符。
2 从第二行开始,判断字段数是否大于第一行的字段数,如果有,输出行号和行字段。
脚本如下:
head -1 c.csv | awk -F ',' '{print NF;n=NF;print n}'
cat c.csv | awk -F ',' '{if(NF>n) print "行号"NR":",$0}' > a.txt
结果却是将c.csv的所有内容都写入到了a.txt中。
出错的原因应该是第二行中的n没有继承第一行中n的结果,在使用时仍然被初始化了。
请问正确的解决方法是什么?
1 查看csv第一行的字段数,逗号(,)是分隔符。
2 从第二行开始,判断字段数是否大于第一行的字段数,如果有,输出行号和行字段。
脚本如下:
head -1 c.csv | awk -F ',' '{print NF;n=NF;print n}'
cat c.csv | awk -F ',' '{if(NF>n) print "行号"NR":",$0}' > a.txt
结果却是将c.csv的所有内容都写入到了a.txt中。
出错的原因应该是第二行中的n没有继承第一行中n的结果,在使用时仍然被初始化了。
请问正确的解决方法是什么?
相关文章推荐
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
- Linux-查看命令文件是否被修改
- Linux下如何查看一个文件是否拥有软链接或硬链接文件?
- 如何查看数据文件或者Log文件是否增长过?
- 如何查看一个命令是否被修改过
- 从ls -l命令到如何查看文件信息
- mac 上如何查看.a 静态库文件是否支持64位,
- 【脚本】如何在linux shell下面查找 abc开头或xy结尾的文件,只用一个命令
- 已知/tmp目录下已经存在了test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让linux系统不提示是否覆盖(root权限下)
- windows 如何用命令查看文件目录
- DOS当中的基本操作命令,如何切换磁盘,如何查看文件和文件夹,如何清屏,进入文件夹的命令,javac是什么意思,作用是什么?DOS如何建文件夹?退出文件夹?
- 如何在logstash的配置文件里边删除csv中columns中多余的field字段
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
- 如何查看一个数据文件是否是自动扩展
- 导入csv文件时,如果最后一列没有数据,读取出来的集合比抬头字段少,和数据中包含","如何处理?
- Linux Shell命令判断文件是否为空:
- Linux Shell 常用shell命令(二)查看文件内容命令
- iOS如何查看静态库.a文件是否支持i386?
- c++,c如何查看文件或者目录是否存在
- 如何用linux命令查看nginx是否在正常运行