以百为单位的组数
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
我的文件如下,有几千个。我想将所有数字分组为数百。因此,所有小于 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