awk 也可以更优雅的方式做到:
awk -v n=YOUR_NUM 'NR%n==1' file
Run Code Online (Sandbox Code Playgroud)
随-v n=YOUR_NUM你指出号码.然后,NR%n==1当行号在表格上时,评估为true 7n+1,因此它打印该行.
注意使用它有多好awk:如果你想要表格中的线条7n+k,你只需要做:awk -v n=7 'NR%n==k' file.
让我们每7行打印一次:
$ seq 50 | awk -v n=7 'NR%n==1'
1
8
15
22
29
36
43
50
Run Code Online (Sandbox Code Playgroud)
或者在sed:
$ n=7
$ seq 50 | sed -n "1~$n p" # quote the expression, so that "$n" is expanded
1
8
15
22
29
36
43
50
Run Code Online (Sandbox Code Playgroud)
关键是,您应该使用双引号"而不是单引号来包装您的sed代码.变量不会在单引号内扩展.所以:
sed -n "1~${i} p"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2277 次 |
| 最近记录: |