3

フィルターの標準入力に次の行を入力するとします。

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
4

4 に答える 4

16
$ yes | cat -n | head -10 | awk 'NR % 4 == 1'
     1  y
     5  y
     9  y

つまり、あなたの答えは「awk 'NR % 4 == 1'」です。

于 2008-12-10T14:20:18.703 に答える
2
awk '{ if ((NR-1) %4 ==0) print}'
于 2008-12-10T14:21:47.203 に答える
1
awk 'NR%4 == 1 {print}'</etc/hosts

もちろん、4を必要な値に置き換えます。

于 2008-12-10T14:22:35.423 に答える
0
sed -ne '1~4p’

(GNU sed. OSX などではテストされていません)

于 2016-08-11T02:03:59.547 に答える