删除以两个值之间的数字开头的行

时间:2018-05-01 13:30:14

标签: unix sed rowdeleting

我正在处理一个大文件,我想使用Linux命令行有效地从中删除多行。每行以数字开头,我想删除以x和y之间的数字开头的行,例如我希望摆脱连续第一个条目> = 1和< = 65的行。

任何帮助将不胜感激!

示例输入

62 14 54.3846 97.2284 76.2852 0.00586727 0.00448625 0.00738023   
63 11 54.14 95.816 74.8085 -0.00117792 0.0101263 -0.018456   
64 11 55.0529 95.2962 76.2127 0.00370189 -0.0266417 -0.0103687   
65 12 54.7587 97.8565 75.6593 -0.0188772 0.0199475 -0.014265   
66 6 48.6904 55.7418 84.002 -0.00401507 -0.00262484 -0.00272206   
67 1 49.3229 54.445 84.2829 0.00102564 0.00328434 0.00452383   

期望的输出

66 6 48.6904 55.7418 84.002 -0.00401507 -0.00262484 -0.00272206   
67 1 49.3229 54.445 84.2829 0.00102564 0.00328434 0.00452383   

1 个答案:

答案 0 :(得分:2)

使用awk:

awk '$1 < 1 || $1 > 65' file

输出:

66 6 48.6904 55.7418 84.002 -0.00401507 -0.00262484 -0.00272206   
67 1 49.3229 54.445 84.2829 0.00102564 0.00328434 0.00452383