以百为单位的组数

group numbers in hundred

我的文件如下,有几千个。我想将所有数字分组为数百。因此,所有小于 100 的数字都将组合在一起。例如,abc,abc1 将是 group1。 abc2 和 abc4 将是 group2,abc5 和 abc6 将是 group3,abc7 将是 group4 等等

1:

abc,63.5
abc1,75.5
abc2,105.2
abc4,199
abc5,205
abc6,240.0
abc7,350.6
abc8,422
abc9,410
abc10,1000
abc11,2001

我试过了

cut -d, f1 x.txt | uniq -c

但没有得到想要的结果。有人可以帮忙吗?

听起来您只是想根据第二个字段对文件进行数字排序。

如果是这样,以下应该有效:

sort -t, -k2n,2 filename 

如果要保存结果:

sort -t, -k2n,2 filename > newfilename

在根据数百人所属的组别分配号码时:

cut -d, -f 2 x.txt  | gawk '{ split([=10=]/100,g,"."); print "gr"g[1]+1,"\t", }'

结果

gr1      63.5
gr1      75.5
gr2      105.2
gr2      199
gr3      205
gr3      240.0
gr4      350.6
gr5      422
gr5      410
gr11     1000
gr21     2001

如果要对包括 abc 在内的所有行进行排序...

gawk -v FS="," '{ split(/100,g,"."); print "gr"g[1]+1"\t""," }' x.txt

结果

gr1     abc,63.5
gr1     abc1,75.5
gr2     abc2,105.2
gr2     abc4,199
gr3     abc5,205
gr3     abc6,240.0
gr4     abc7,350.6
gr5     abc8,422
gr5     abc9,410
gr11    abc10,1000
gr21    abc11,2001