从文本文件中提取行1,11,21等

时间:2012-04-29 07:47:12

标签: shell

是否可以使用Linux命令从文本文件中检索第1,11,21,31行的数据?

我需要为2,12,22,32等做同样的事情。

1 个答案:

答案 0 :(得分:5)

您可以使用awk

awk '(NR % 10 == 1){ print }' your_input_file

例如:

 $ seq 1 100|awk '(NR%10 == 2){print}'
2
12
22
32
42
52
62
72
82
92

正如glenn jackman指出的那样,您可以参数化awk脚本以使其更易于使用。鉴于print是默认操作,您只需编写:

 $ seq 1 20|awk -v step=10 -v idx=3 'NR%step==idx'
3
13
相关问题