ファイル:namelist.txt
Emily 0
Emily 1
Emily 5
Joe 0
Joe 10
Joe 5
Joe 6
私が実行したコマンドは次のとおりです。
cat nameslist.txt | sort -k1 -k2
結果:
Emily 0
Emily 1
Emily 5
Joe 0
Joe 10
Joe 5
Joe 6
最初の数字でソートされているように見えますが、2番目の列を数字でソートするにはどうすればよいですか?私が望む結果は次のとおりです。
Emily 0
Emily 1
Emily 5
Joe 0
Joe 5
Joe 6
Joe 10
答え1
-n
数字で並べ替えるには、このオプションを使用してください。
sort -k1,1 -k2n nameslist.txt
cat
入力ファイルを読み取るために使用する必要はありません。sort
これを行うために追加のプロセスは必要ありません。
この-k1,1
表記は、最初のソートキーの開始および停止制限を最初のフィールドに設定します。