【问题标题】:How do I get lines with a range of number?如何获得具有数字范围的行?
【发布时间】:2013-05-29 13:47:15
【问题描述】:

我有一个这样的文本文件:

    1.1    2.4   10.1
    5.6   10.5    2.9
   10.8   29.2   -2.1
   12.7   29.1   -2.1
   15.2   38.5   -5.2
   25.0   41.1  -19.1

现在,我想使用 awk、sed 或任何其他命令获取其第一列的编号小于 15 的行。有人知道吗? 它必须产生:

  1.1    2.4   10.1
  5.6   10.5    2.9
 10.8   29.2   -2.1
 12.7   29.1   -2.1

【问题讨论】:

  • 我一般以man awk开头
  • 谢谢。下次我应该多看看。

标签: bash filter sed awk


【解决方案1】:
awk '$1<15' input_file

测试:

[jaypal:~/Temp] cat f
1.1    2.4   10.1
5.6   10.5    2.9
10.8   29.2   -2.1
12.7   29.1   -2.1
15.2   38.5   -5.2
25.0   41.1  -19.1
[jaypal:~/Temp] awk '$1<15' f
1.1    2.4   10.1
5.6   10.5    2.9
10.8   29.2   -2.1
12.7   29.1   -2.1

【讨论】:

【解决方案2】:

awk 最简单:

awk '$1 < 15' filename

【讨论】:

    【解决方案3】:
    perl -lane 'print if($F[0] <15)' your_file
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 2012-09-23
      • 2011-11-06
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多