1. ホーム
  2. linux

[解決済み] Linuxシェルは2番目の列でファイルをソートしますか?

2023-01-01 02:51:27

質問

このようなファイルがあります。

FirstName, FamilyName, Address, PhoneNumber

FamilyNameでソートするにはどうすればよいですか?

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

これがUNIXの場合。

sort -k 2 file.txt

複数の -k フラグを使うと、複数のカラムでソートすることができます。例えば、姓でソートした後、同点として名でソートすることができます。

sort -k 2,2 -k 1,1 file.txt

man sort"の関連するオプションです。

-k, --key=POS1[,POS2].

POS1でキーを開始し、POS2(原点1)でキーを終了します。

POS は F[.C][OPTS] で、F はフィールド番号、C はフィールド内の文字位置です。 OPTSは1文字以上の順序オプションで、そのキーに対するグローバル順序オプションを上書きします。 キーが与えられていない場合、行全体をキーとして使用します。

-t, --field-separator=SEP

非空白から空白への遷移の代わりにSEPを使用します。