GNU/Linux >> Znalost Linux >  >> Linux

Linux shell třídit soubor podle druhého sloupce?

Chcete-li seřadit pouze podle druhého pole (takže tam, kde se shodují druhá pole, řádky se shodami zůstanou v pořadí, v jakém jsou v původním pořadí, aniž by byly seřazeny podle jiných polí):

sort -k 2,2 -s orig_file > sorted_file

sort -nk2 file.txt

Podle toho můžete změnit číslo sloupce.


Pokud je toto UNIX:

sort -k 2 file.txt

Můžete použít více -k příznaky k řazení podle více než jednoho sloupce. Chcete-li například seřadit podle příjmení a poté křestního jména jako nerozhodný výsledek:

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

Relevantní možnosti z "man sort":

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

spusťte klíč na POS1, ukončete jej na POS2 (počátek 1)

POS je F[.C][OPTS], kde F je číslo pole a C pozice znaku v poli. OPTS je jedna nebo více možností řazení s jedním písmenem, které přepisují možnosti globálního řazení pro daný klíč. Pokud není zadán žádný klíč, použijte jako klíč celý řádek.

-t, --field-separator=SEP

použijte SEP místo přechodu bez prázdného místa na prázdný


Linux
  1. Jak změnit výchozí prostředí v Linuxu

  2. sort Příklady příkazů v Linuxu

  3. jak použít linuxový příkaz Sort k seřazení textového souboru podle 4. sloupce, číselného pořadí?

  1. Zkopírujte soubory v terminálu Linux

  2. Přejmenujte soubor v terminálu Linux

  3. Porovnání dvou netříděných seznamů v linuxu, seznam jedinečných v druhém souboru

  1. Přesunout soubory v terminálu Linux

  2. Třídit příkaz v Linuxu s příklady

  3. Základní příklady příkazu File v Linuxu