1. ホーム
  2. バッシュ

[解決済み】ファイルの2列目を基準にしてデータをソートする

2022-03-31 04:54:47

質問

2列のファイルを持っていて n の数だけ行があります。

1列目には names とカラム2 age .

を基準にして、このファイルの内容を昇順に並べ替えたい。 age (2列目)です。

結果は name とともに、最年少の人の name そして2番目に若い人......といった具合に。

ワンライナーのシェルやbashスクリプトのお勧めがあれば教えてください。

どのように解決するのですか?

を使用することができます。 key オプションで sort コマンド で、これは "フィールド番号" を取るので、もし2列目が必要なら

sort -k2 -n yourfile

-n , --numeric-sort 文字列の数値で比較する

例えば

$ cat ages.txt 
Bob 12
Jane 48
Mark 3
Tashi 54

$ sort -k2 -n ages.txt 
Mark 3
Bob 12
Jane 48
Tashi 54