次の行( `+ N`オプション)と頻度( `〜N`)でsed

次の行( `+ N`オプション)と頻度( `〜N`)でsed

私はsedを使って10行(10、11、20、21、30、31、...)ごとに2行のテキストを検索しようとしています。

sed -n '10,11p' file10行と11行の場合、またはを使用できますsed -n '10,+1p' file。範囲(10日、20日、30日、...)の場合sed -n '10,~10p' file。しかし、どういうわけかこの2つを組み合わせることは可能ですか?

sed -n '10,~10,+1p' file動作しません。

重複しているようですが、参照が見つかりません。ありがとうございます!

ベストアンサー1

ADDR1,ADDR2FIRST~STEPasADDR1+OFFSETasと一緒に使用されますADDR2

$ seq 30 | sed '10~10,+1!d'
10
11
20
21
30

~それにもかかわらず、両方とも+非標準のGNU拡張であることに注意してください。

詳しくはinfo sed 'line selection'GNUシステムをご覧ください。info sed 'range of lines'

POSIXly では以下を使用します。

seq 30 | sed -n '1n;n;n;n;n;n;n;n;n;p;n;p'

おすすめ記事