フィルターの標準入力に次の行を入力するとします。
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
$ yes | cat -n | head -10 | awk 'NR % 4 == 1'
1 y
5 y
9 y
つまり、あなたの答えは「awk 'NR % 4 == 1'
」です。
awk '{ if ((NR-1) %4 ==0) print}'
awk 'NR%4 == 1 {print}'</etc/hosts
もちろん、4を必要な値に置き換えます。
sed -ne '1~4p’
(GNU sed
. OSX などではテストされていません)