尝试对大型csv文件进行排序,但输出未写入另一个文件

时间:2018-03-13 08:47:00

标签: bash sorting

我有一个(非常)大的csv文件,几乎大约70GB,我试图使用sort命令进行排序。我正在尝试,输出没有写入文件。这是我试过的

sort -T /data/data/.tmp -t "," -k 38 /data/data/raw/KKR.csv > /data/data/raw/KKR_38.csv
sort -T /data/data/.tmp -t "," -k 38 /data/data/raw/KKR.csv -o /data/data/raw/KKR-38.csv

创建的KKR_38.csv文件及其大小与KKR.csv文件相同但内部没有任何内容。当我做的时候

head -n 100 /data/data/raw/KKR_38.csv

打印出100个空行。

2 个答案:

答案 0 :(得分:4)

如果你排序,那么空行首先是很正常的。试试这个:

tail -100 /data/data/raw/KKR_38.csv

答案 1 :(得分:0)

如果您不想考虑空行,可以使用以下命令:

cat -s /data/data/raw/KKR_38.csv | less #to squeeze the successive empty lines to only one

或者如果你想删除它们:

sed '/^$/d' /data/data/raw/KKR_38.csv | less

您可以重定向这些命令的输出以创建另一个没有空行的文件(注意文件系统上的空间)。

相关问题