2017-05-17 18 views
0

私はソートに問題があります。-Vは解決していません。私はバージョンの並べ替えを行うが、浮動小数点数を認識したい(最初の2つのエントリを参照)フォルダ名の名前は非常にうまく構成されています(sort -V)。何かアドバイス?bash sort数値的に正しい

Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_3_um_V_97.4_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_3_um_V_97_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_6_um_V_90_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_6_um_V_153_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_7_um_V_70_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_8_um_V_70_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_8_um_V_80_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_9_um_V_192_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_10_um_V_90_V 
+0

これはどのようにbashの問題ですか?私は質問にコードが表示されません。 – ghoti

+0

"バージョンの並べ替えを行うが浮動小数点数を認識する"という意味はどういう意味ですか?バージョンソートは、浮動小数点数とは異なる方法でドットを持つフィールドを解釈するため、正確にバージョンソートされます。いくつかのフィールドが数字であるフィールド別の辞書順ソートを行う場合は、区切り文字として '_'を使い、適切なフィールドに' g'修飾子を指定してください。 – rici

答えて

2

浮動小数点数でソートする場合は、15番目のフィールドに数値ソートを適用できます。

$ cat test.txt | sort -t _ -V -k 1,14 -k 15n 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_3_um_V_97_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_3_um_V_97.4_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_6_um_V_90_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_6_um_V_153_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_7_um_V_70_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_8_um_V_70_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_8_um_V_80_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_9_um_V_192_V 
Xe_phi_3.5_eV_tOn_0.5_ns_tOff_20_ns_d_10_um_V_90_V 
関連する問題