【问题标题】:Splitting file based on quantity of lines, each part save to one file AWK, BASH根据行数拆分文件,每个部分保存到一个文件 AWK,BASH
【发布时间】:2014-08-06 17:16:29
【问题描述】:

祝大家今天好,

我想知道如何根据数字行的数量来拆分文件,这个数字作为变量传递并且每个部分具有相同的大小(相同的行号),并且每个部分都将其保存到一个文件中。

这是我尝试过的:

awk -v var="$1" ' FNR==var {close("Partfile"f);f++}{print $0 > "Partfile"f}' datafile

提前感谢任何线索

【问题讨论】:

标签: bash awk


【解决方案1】:

使用split

split -l 20 file Partfile

分成每块 20 行。

【讨论】:

  • 裁判!红牌! :-) @triplee 在第一条评论中告诉 Alejandro,他的问题是一个带有 split 解决方案的问题,Alejandro 辩称他想要一个 awk 解决方案,而不是 split 解决方案,然后他接受了答案使用split!
  • @EdMorton 一些 OP,嗯?
  • 我会告诉你的... ;-)。
【解决方案2】:

awk:

awk -v var="$1" '(FNR % var) == 1 { ++n; close(f); f = "Partfile" n } { print > f }' datafile

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-05
  • 2010-11-27
  • 2018-09-13
  • 1970-01-01
  • 1970-01-01
  • 2018-10-05
  • 1970-01-01
相关资源
最近更新 更多