「Team_James」というファイルを最後の列に基づいて数値順に並べ替えようとしています。次に、出力を「file3」という新しいファイルに保存しようとします。
コマンドを試してみましたが、sort Team_James | > s3
何をすべきかわからず、-k
それが何であるかさえわかりません!私はインターネットを上下に訪れました。
私は何が間違っていましたか?
これは私のコマンドの結果です。cat Team_James
Pam Murray 4 657-4324 18
Jim Brown 8 467-8743 22
Jim Roberts 17 728-8295 9
Joyce Murray 7 235-1432 13
答え1
表を見ると、列1には名前と姓の間にスペースがあります。つまり、sort
名前と姓の2つの別々の列が考慮されます。その結果、入力テーブルの最後の列は#5です。以下のコマンドは、列1に指定されたすべての名前が名前/姓であり、中間名がないと想定しています。
cat Team_James | sort -s -n -k 5.1 > file3
Jim Roberts 17 728-8295 9
Joyce Murray 7 235-1432 13
Pam Murray 4 657-4324 18
Jim Brown 8 467-8743 22
-n, --numeric-sort compare according to string numerical value
-s, --stable stabilize sort by disabling last-resort comparison
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of
line). See POS syntax above.