私のファイルには次のデータがあります
07020,6880A98805,03/09/2014
04374,6880698805,09/01/2014
05019,6880698805,07/01/2014
05020,2710239905,08/02/2007
05020,2710239905,08/31/2007
05021,2710239905,09/01/2007
05806,2710239905,08/30/2007
05807,8803975905,08/01/2014
05808,8803975905,06/01/2014
06019,6880698805,07/01/2006
06020,6880698805,03/09/2014
07807,8803975905,08/01/2014
13375,3470566899,07/16/2015
13376,3470566899,08/16/2016
058030,6880698805,01/12/201
058030,6880698805,01/12/2015
058030,6880698805,01/12/2015
100004,8803975905,03/09/2014
100005,8803975905,01/01/2015
100006,8803975905,02/01/2015
100007,8626833130,01/16/2016
100031,8803975905,01/12/2015
100031,8803975905,01/12/2015
100031,8803975905,01/12/2015
100032,8803975905,01/01/2015
最初のフィールド(数字)、2番目のフィールド(数字)、3番目のフィールドに基づいてファイルシーケンスをソートしたいと思います。
フォーラムを使って何度も試してみましたが、以下を使用して希望の順序を取得できませんでした。
sort -n -t',' -k1.1n,1.15n -k2.1n,2.10n -k3.7n,3.10n -k3.1n,3.2n -k3.4n,3.5n <file_name.csv>
誰が何が間違っているのか教えてもらえますか?
答え1
近づいているようです。ただし、2番目のフィールドは正確に数字ではないため(A
最初の行に1つある)、数字で並べ替えることはできません。
これは私にとって効果的です。
sort -t, -k1,1n -k2,2 -k3.7,3.10 -k3.1,3.2n -k3.4,3.5n