Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用awk打印文件中的选定行_Bash_Sed_Awk - Fatal编程技术网

Bash 使用awk打印文件中的选定行

Bash 使用awk打印文件中的选定行,bash,sed,awk,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_

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

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
这似乎没有给出我期望的输出。我做错了什么?

您可以这样做:

awk '$1>1000 {print $0}' graph_data_tmp.txt
print$0将打印该行的所有内容

如果要打印第1000行/行之后的行内容,可以将$1替换为NR。NR表示行数

awk 'NR>1000 {print $0}' graph_data_tmp.txt
您可以这样做:

awk '$1>1000 {print $0}' graph_data_tmp.txt
print$0将打印该行的所有内容

如果要打印第1000行/行之后的行内容,可以将$1替换为NR。NR表示行数

awk 'NR>1000 {print $0}' graph_data_tmp.txt
您所需要的只是:

awk '$1>1000' file
您所需要的只是:

awk '$1>1000' file

NR表示行号$1是第一列。至少在您的示例中,您没有1000行。您有1000行,然后将$1替换为NR>1000将打印超过1000行的行内容。原始文件中的行数确实超过1000行。:Thank BEGIN导致了此问题。NR是行号$1是第一列。至少在您的示例中,您没有1000行。您有1000行,然后将$1替换为NR>1000将打印超过1000行的行内容。原始文件中的行数确实超过1000行。:感谢BEGIN导致了此问题。