GNU/Linux >> Linux の 問題 >  >> Linux

Linuxシェルは、2番目の列に従ってファイルをソートしますか?

2 番目のフィールドのみで並べ替えるには (したがって、2 番目のフィールドが一致する場合、一致する行は、他のフィールドで並べ替えずに元の順序のままになります):

sort -k 2,2 -s orig_file > sorted_file

sort -nk2 file.txt

したがって、列番号を変更できます。


これが 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 つ以上の 1 文字の順序付けオプションであり、そのキーのグローバルな順序付けオプションをオーバーライドします。キーが指定されていない場合は、行全体をキーとして使用してください。

-t, --field-separator=SEP

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


Linux
  1. Linuxでの.bashrcファイルの目的は何ですか

  2. Unix シェルで数値の列を合計する

  3. Linux ソートのデフォルトの順序は何ですか?

  1. Linuxターミナルでファイルをコピーする

  2. Linuxターミナルでファイルの名前を変更します

  3. シェル スクリプトで Linux を使用してテンプレートを作成しますか?

  1. Linuxターミナルでファイルを移動する

  2. Linuxでの並べ替えコマンドと例

  3. Linuxでのファイルコマンドの基本的な例