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