次のリストがあります。
1,kg,cat
1000,g,dog
20,g,apple
重量順に並べ替えたいです。 1kgと1000gは同じなので重さごとに揃えたいです。私のデータセットは大きく、単位が異なり、コードが3000gが1kgより大きいことを認識できるようにソートする方法を知りたいです。
ベストアンサー1
ファイルが大きすぎてメモリに収まらない場合は、次のことができます。
$ awk -F, -v OFS="," '$2=="kg"{$1=1000*$1}1;' file | sort -n |
awk -F, -v OFS="," '$2=="kg"{$1=$1/1000}1;'
1000,g,dog
1,kg,cat
20,g,apple