假设使用以下行提供过滤器标准输入:
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
line 10
如果有人告诉我如何编写一个只打印每4行的脚本会更好,在上面的示例输入的情况下:
line 1
line 5
line 9
答案 0 :(得分:16)
$ yes | cat -n | head -10 | awk 'NR % 4 == 1'
1 y
5 y
9 y
也就是说,您的答案是“awk 'NR % 4 == 1'
”。
答案 1 :(得分:2)
awk '{ if ((NR-1) %4 ==0) print}'
答案 2 :(得分:1)
awk 'NR%4 == 1 {print}'</etc/hosts
将4替换为您想要的任何值。
答案 3 :(得分:0)
sed -ne '1~4p’
(GNU sed
。未在OSX上测试等)