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