【问题标题】:How to use linux to split a file into several files with different lines?如何使用linux将一个文件拆分成多个不同行的文件?
【发布时间】:2017-11-21 02:03:57
【问题描述】:

我想使用 linux 命令行将一个文件拆分为多个文件它们会有不同的行。我怎样才能做到?

例如假设一个文件有 1000 行,如何将 前 600 行 拆分为 file1剩余 400 行 拆分为 file2 >?我知道 split 可以按相同的行拆分一个大文件,但我不知道我是否还能在这里使用它。

如果有人可以帮助我,我将不胜感激。谢谢!!

【问题讨论】:

    标签: linux split


    【解决方案1】:

    对于你的例子,如果你使用

    split FILE --lines=600
    

    最后 400 行将出现在最后一个片段中。

    如果您想进行任意拆分,我建议将headtail 结合使用。

    # e.g. get the 300 lines following line 250
    tail  -n +250  FILE | head -n 300
    

    【讨论】:

    • 在同一个文件上重复运行head | tail 是相当低效的。一个简单的sed 脚本只需要通过一次。 sed -e '1,12wonefile' -e '13,17wanother' -e '18,$wetc' 将前 12 行写入一个文件,接下来的 5 行写入另一个文件,其余的写入第三个文件。 (平台之间的一些方言变化 - 请参阅本地手册页,了解您的盒子上的语法究竟是什么样的。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 2021-03-04
    相关资源
    最近更新 更多