多くの行を含むファイルから3行目の後の2行を削除する方法は? [コピー]

多くの行を含むファイルから3行目の後の2行を削除する方法は? [コピー]

私が持っているように

1st line (keep)  
2nd line (keep)  
3rd line (keep)  
4rth lines (delete)  
5th (del)  
6th (keep)  
7nth (keep)  
8th lines  (keep)  
9th (del)  
10th (del)  
11th (keep)  
12th (keep)  
13th (keep)  
14th (del)  
15th (del)  

など....

ベストアンサー1

努力する:

awk '(NR-1)%5<3' file

たとえば、

$ awk '(NR-1)%5<3' file
1st line (keep)
2nd line (keep)
3rd line (keep)
6th (keep)
7nth (keep)
8th lines (keep)
11th (keep)
12th (keep)
13th (keep)

どのように動作しますか?

このコマンドは、trueのすべての行を印刷するように指示(NR-1)%5<3します。 inは行番号で、最初の行数はです。ファイルの5行ごとに、このステートメントは最初の3行に適用されます。awk(NR-1)%5<3awkNR1

おすすめ記事