【发布时间】:2019-02-03 01:00:38
【问题描述】:
我有一个大的 csv 文件,我想将它拆分成更小的 csv 文件,我有一个可行的解决方案:
awk -F\t '{print > $2}' big.csv
但我的问题是我希望文件末尾有 .csv,而不仅仅是现在的列。有任何想法吗?
大.csv
"a name" "type" "some more info" "and a bit more"
"a other name" "differnt-type" "more" "and a bit more"
"last name" "type" "something" "and last more"
我想要的结果:
type.csv
"a name" "type" "some more info" "and a bit more"
"last name" "type" "something" "and last more"
不同类型的.csv
"a other name" "differnt-type" "more" "and a bit more"
现在文件将是类型和不同类型的文件,没有 .csv。
我也看过这样的解决方案:
tail -n +1 big.csv | while IFS=$'\t' read d1 d2 c
do
echo $d1'\t'$d2'\t'$c >> ${d2}.csv
done
这很有效,但速度很慢。
【问题讨论】: