特定行

时间:2015-07-01 15:33:58

标签: unix awk

我的文件中有数百万条记录,我需要做的是打印1396到1400列以获取特定行数,如果我可以在excel或记事本中输入。

尝试使用此命令

awk {print $1396,$1397,$1398,$1399,$1400}' file_name

但是每行都在运行。

1 个答案:

答案 0 :(得分:2)

您需要一个条件来指定将操作应用于哪些行:

awk '<<condition goes here>> {print $1396,$1397,$1398,$1399,$1400}' file_name

例如,仅对第50行到第100行执行此操作:

awk 'NR >= 50 && NR <= 100 {print $1396,$1397,$1398,$1399,$1400}' file_name

(根据您的目的,您还可以选择比这更复杂的选择模式。)

以下是一个更简单的测试示例:

awk 'NR >= 3 && NR <= 5 {print $2, $3}'

如果我在包含

的输入文件上运行它
1 2 3 4
2 3 4 5
3 a b 6
4 c d 7
5 e f 8
6 7 8 9

我得到了输出

a b
c d
e f