次のようなファイルから始めたいです。
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
次のように、各5セットのうち最後の3つのみが返されます。
3
4
5
3
4
5
3
4
5
次のコードを使用して最初の2つを正常に取得しました。
awk -vn=2 -vm=5 'NR<=i{next}; (NR-i)%m==1{c=1}; c++<=n
しかし、最後のグループ化で同じことをするのに問題があります。
答え1
これらの操作は、モジュラー演算を使用する方が簡単です。
awk '(NR-2)%5 && (NR-1)%5' file
3
4
5
3
4
5
3
4
5
あるいは、GNU sedのn~m
(「nはmをスキップします」)表記を使用します。
sed '1~5d;2~5d' file