【问题标题】:Printing a line in a certain percentile of a larg text file在大文本文件的某个百分位打印一行
【发布时间】:2017-07-21 10:36:06
【问题描述】:

我正在寻找一个单行命令来打印大文本文件的某个百分位数中的一行。我的首选解决方案是基于 sed、wc -l 和/或 head/tail 的解决方案,因为我已经知道如何使用 awk 和 wc -l 来做到这一点。为了更清楚,如果我的文件有 1K 行文本,我需要打印例如该文件的第 (95%*1K) 行。

【问题讨论】:

    标签: sed tail head wc


    【解决方案1】:

    在 bash 中:

    head -`echo scale=0\;$(cat file|wc -l)\*95/100 | bc -l` file | tail -n 1
    

    【讨论】:

    • 感谢您的两个回答。
    【解决方案2】:
    head -`wc -l file | awk '{print(int(0.95*$1))}'` file | tail -n 1
    

    【讨论】:

      猜你喜欢
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 2021-02-17
      • 1970-01-01
      相关资源
      最近更新 更多