テキストファイルのソートキーの選択に問題があります。

テキストファイルのソートキーの選択に問題があります。

次のテキストファイルがあるとしましょう。

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

おすすめ記事