ソートコマンドを実行しようとしていますが、このファイルでは機能しません。理由はわかりません。
sort -n -k+3 employee > hired2
これは雇用された月によって従業員の順位を付けるべきだと指針は述べた。
これがファイルです。 MM/DD/YEAR日付
mgt Cooper John 06151995 66000
mgt Davidson Darla 04151992 69500
mgt MacDonald George 06151985 70000
act Smith Thomas 04102002 56000
act Smith Alecia 04121991 65000
mis MacLeod Janice 01021977 90000
mis Mack Joe 02252003 85000
mis Winslow Sarah 02151995 58000
adm Smith Dexter 01021975 100000
mis Benneth Joan 08152001 79000
mgt Neason Elizabeth 10251998 65500
act NeSmith Donald 11301966 99500
これが私が得るものです:
act NeSmith Donald 11301966 99500
act Smith Alecia 04121991 65000
act Smith Thomas 04102002 56000
adm Smith Dexter 01021975 100000
mgt Cooper John 06151995 66000
mgt Davidson Darla 04151992 69500
mgt MacDonald George 06151985 70000
mgt Neason Elizabeth 10251998 65500
mis Bennett Joan 08152001 79000
mis Mack Joe 02252003 85000
mis MacLeod Janice 01021977 90000
mis Winslow Sarah 02151995 58000
何が間違っている可能性がありますか?ギャップの問題ではないですか?
答え1
無効な列に基づいてソートしています。列番号は1から始まり、月の列は4番目です。だからこれを試してみてください:
sort -n -k+4 employee > hired2
答え2
いくつかの以前のバージョンのソートは、0からフィールドの計算を開始し、+ nシンボルをキーの開始フィールドとして使用します。最新バージョンのsortは未使用のシンボルを受け入れることができますが、ゼロから計算が始まることを確認していません。おそらく、コーチが以前のバージョンに言及または使用している可能性があります...乾杯、drl
答え3
指示に従って、雇用された月に基づいて従業員を並べ替える必要があります。
どんな命令ですか?ここで私は次のようにして期待される結果を得ました。
$ sort -n -k 4 <file>
テストデータのコピー/貼り付けに基づいています。これは、ファイルにタブ(存在する場合)の代わりにスペースが含まれていることを意味します。
答え4
読むことができる必要がある場合は、列を並べ替えます。
$ column -t < employee | sort -nk4
adm Smith Dexter 01021975 100000
mis MacLeod Janice 01021977 90000
mis Winslow Sarah 02151995 58000
mis Mack Joe 02252003 85000
act Smith Thomas 04102002 56000
act Smith Alecia 04121991 65000
mgt Davidson Darla 04151992 69500
mgt MacDonald George 06151985 70000
mgt Cooper John 06151995 66000
mis Benneth Joan 08152001 79000
mgt Neason Elizabeth 10251998 65500
act NeSmith Donald 11301966 99500