我有一个巨大的文本文件。我想提取它的前532541行并将它们存储在另一个文件中。用鼠标选择文本并执行ctrl + c显然不是一个可行的解决方案。
我该怎么做?
答案 0 :(得分:18)
head -n 532541 big-file > first-bit
答案 1 :(得分:4)
在Emacs中 M-< C-SPC Cu 532541 Cn 的Mx 写区域。如果经常这样做,那么写一个键盘宏来执行这些步骤。
或者,您可以定义一个插入当前缓冲区文件名的函数,如so。然后, M - ! head -n 531541 F3 >第一位
答案 2 :(得分:2)
head
是这项工作的正确工具。使用awk或sed,在目标行之后退出处理文件会更有效,因此不必读取文件的无用其余部分。
sed '532541q' big > small
awk '{print} NR==532541 {exit}' big > small
答案 3 :(得分:1)
awk 'NR<=532541' big > small
awk '{if(NR<=532541) print; else exit}' big > small #if the file is really huge
sed -n '1,532541p' big > small
sed '1,532541!d' big > small
sed '532542,$d' big > small
:)玩得开心