Linux shell操作csv文件


awk

抽取csv的某列:

awk -F '","' -v OFS=',' '{print $5,$4,$6,$7 }' a.csv > a1

抽取f1的col 1, f2的col 2,输出。
缺点:需要将f1的col 1先全部读入内存,若f1很大,耗内存,而且不知道数组a的结构。

awk -F '","' -v OFS=',' 'NR==FNR{a[NR]=$1;next} {print a[FNR],$2}' f1 f2

对文件第n行的操作

删除文件 f 的第1行(比sed快很多很多):

tail -n +2 f> f.tmp && mv f.tmp  f

打印文件 f 的第 19103 行:

sed "19103q;d" f


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM