次のテキストファイルがあるとしましょう。
e8:b4:c8:b2:d8:b9 "Biswas Gautam" 2016 me Mob
ec:8e:b5:f8:a2:12 "Dipin Gyawali" 2015 me Lan
f0:27:65:70:91:62 "Karan Rai" 2016 cs Mob
f0:de:f1:33:33:32 "Dipendra L. Karki" 2015 me Lan
私の項目(機械工学)やcs(コンピュータサイエンス)などの配置を3番目の列(年)、4番目の列、名前で並べ替えたいと思います。
しかし、2番目の列名は問題を引き起こします。時には中間名があり、元のソリューションと競合します。だから二重引用符がトリックを実行すると思います。しかし、二重引用符内のスペースを無視する方法がわかりません。
sort -k 4 -k 5 -k 2 -kfilename
空白が3つあるので4つを書きました。 1つは列のため、1つはフルネーム(名前[空白]性)のために発生します。
このように並べ替える方法はありますか?
ベストアンサー1
ファイル形式が示されているとおりに厳密に指定されている場合は、sort
特定の列をキーとして使用する必要があります。
sort -k1.75,1.78n -k1.91,1.92 -k1.105,1.107 -k1.41,1.74 input
...サンプル入力を次に変換します。
f0:de:f1:33:33:32 "Dipendra Karki" 2015 me Lan
ec:8e:b5:f8:a2:12 "Dipin Gyawali" 2015 me Lan
f0:27:65:70:91:62 "Karan Rai" 2016 cs Mob
e8:b4:c8:b2:d8:b9 "Biswas Gautam" 2016 me Mob