awk處理案例九--輸出取余某特定幾行


【場景】

   在一個大文件中(上千行數據);取NR%126的值為1-8,76的行。看有沒有很好的寫法

 【實現】

[li0924@localhost lottu]$ seq 300|awk '{A=NR%126;if(A>=1&&A<=8||A==76)print}'
1
2
3
4
5
6
7
8
76
127
128
129
130
131
132
133
134
202
253
254
255
256
257
258
259
260

還有seesea兄的巧妙的思路,利用數組的值;代碼如下:

awk 'BEGIN{for(i=1;i<=8;++i) ar[i]=1; ar[76] = 1;} (NR%126 in ar)'

awk 'BEGIN{for(i=1;i<=8;++i) ar[i]=1; ar[76] = 1;} ar[NR%126]'  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM