使用awk从文件打印选定的行

时间:2013-08-28 01:41:46

标签: bash sed awk

我有一个包含以下格式数据的文本文件。

1 0 0
2 512 6
3 992 12
4 1536 18
5 2016 24
6 2560 29
7 3040 35
8 3552 41
9 4064 47
10 4576 53
11 5088 59
12 5600 65
13 6080 71
14 6592 77
15 7104 83

我想打印$ 1>的所有行1000。

awk 'BEGIN {$1 > 1000} {print "  " $1 "  "$2 "  "$3}' graph_data_tmp.txt

这似乎没有给出我期待的输出。我做错了什么?

2 个答案:

答案 0 :(得分:4)

你可以这样做:

awk '$1>1000 {print $0}' graph_data_tmp.txt

print $0将打印该行的所有内容

如果要在第1000行/ ROW之后打印行内容,则可以将$1替换为NR来执行相同操作。 NR表示行数。

awk 'NR>1000 {print $0}' graph_data_tmp.txt

答案 1 :(得分:4)

您只需要:

awk '$1>1000' file