$ seq 12 | awk '{ if(NR%2) { print $0, (NR+1)/2 } else { print $0, NR/2} }'
1 1
2 1
3 2
4 2
5 3
6 3
7 4
8 4
9 5
10 5
11 6
12 6
如何更改上面的命令?我想打印:如何改進這個例子?
1 1
2 1
3 1
4 2
5 2
6 2
7 3
8 3
9 3
10 4
11 4
12 4
$ seq 12 | awk '{ if(NR%2) { print $0, (NR+1)/2 } else { print $0, NR/2} }'
1 1
2 1
3 2
4 2
5 3
6 3
7 4
8 4
9 5
10 5
11 6
12 6
如何更改上面的命令?我想打印:如何改進這個例子?
1 1
2 1
3 1
4 2
5 2
6 2
7 3
8 3
9 3
10 4
11 4
12 4
嗯。只需將你的算法,以3:
seq 12|awk '{if((NR%3)==1) { print $0, (NR+2)/3 } else if ((NR%3)==2) { print $0, (NR+1)/3 } else { print $0, NR/3} }'
但我敢肯定有一個更短的算法中...
時間越短,例如:序列12 | awk的「{打印$ 0,(( NR-1)+ 3-(NR-1)%3)/ 3} ' – pbhd
或者,廣義:SEQ 12 | AWK' BEGIN {S = 3}; {打印$ 0,((NR-1)+ S-( NR-1)%s)/ s}'改變爲你喜歡的任何步長。 – pbhd
謝謝你的好解決方案。我喜歡這個簡短的例子。 – Tedee12345