【问题标题】:Cut 13*10^6 lines from file从文件中剪切 13*10^6 行
【发布时间】:2015-04-01 12:53:29
【问题描述】:

所以我有一些包含 63*10^6 行的文件。我需要从那里剪切第一个(或最后一个)13*10^6 行并将其写入另一个文件。最好的方法是什么?

【问题讨论】:

  • 你尝试过任何东西吗?
  • python 脚本,但我不确定这是不是最好的解决方案
  • 十亿?我想你的意思是百万。
  • 你有 6300 万条记录,但你要从中删除 130 亿条记录……这将是一项壮举。

标签: linux file


【解决方案1】:

执行此操作的工具称为tail,您可以给它一个-n 标志,如果您在前面使用+,它会跳过该数量的行。因此:

tail -n +13000000 < file_in > file_out

将跳过前 1300 万行。

Analogue head 会显示第一行,如果你写的话:

head -n -13000000 < file_in > file_out

它将打印除 1300 万最后个之外的所有内容。

&lt; 和&gt; 是I/O 重定向,这意味着head(或tail)从file_in 读取并写入file_out。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-14
    • 2013-03-18
    • 2018-01-18
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多