将第一行x行的csv文件读入新的outfile?

use*_*468 29 csv shell terminal

如何通过终端只将csv文件的前x行复制到新csv文件中?

Fel*_*lix 48

简要

(你将使用linux终端/控制台)

使用head -n NUMBEROFLINES file.csv来获取第一NUMBEROFLINES线.使用shell重定向(>)将其写入另一个文件,如下所示:

head -n NUMBEROFLINES file.csv > mynewfile.csv
Run Code Online (Sandbox Code Playgroud)

请注意,这将完全重新创建mynewfile.csv,如果它有任何内容,现在它永远被删除(-ish).

如果您碰巧想要相反的(最后 x行),请使用tail.

这两个工具都附带了man和info页面(man head或者info head- 习惯了man)和一个--help标志(head --help实际上向我显示了或多或少的手册页).

完整的例子

head -n 10 data.csv >> /tmp/first_and_last.csv # Note the ">>"
tail -n 10 data.csv >> /tmp/first_and_last.csv # Note the ">>"
Run Code Online (Sandbox Code Playgroud)

这将打开文件/tmp/first_and_last.csv并附加(>>,>将重新创建/删除文件!)data.csv在"结束" 的第一行和最后10行/tmp/first_and_last.csv.

Mac OS: 根据互联网(tm),这些命令也可用于(基于Unix的)Mac OS(你必须通过Finder启动终端).