フィールドを数値順に並べ替える方法

フィールドを数値順に並べ替える方法

「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.  

関連情報