GNU/Linux >> Znalost Linux >  >> Linux

Třídění více klíčů pomocí Unixového řazení

Volba -k je to, co chcete.

-k 1.4,1.5n -k 1.14,1.15n

Použil by pozice znaků 4-5 v prvním poli (všechno je to jedno pole pro pevnou šířku) a seřadil podle čísel jako první klíč.

Druhý klíč by také obsahoval znaky 14-15 v prvním poli.

(upravit)

Příklad (vše, co mám, je šikovný DOS/cygwin):

dir | \cygwin\bin\sort.exe -k 1.4,1.5n -k 1.40,1.60r

pro data:

12/10/2008  01:10 PM         1,564,990 outfile.txt

Seřadí výpis adresáře podle čísla měsíce (poz. 4-5) číselně a poté podle názvu souboru (poz. 40-60) naopak. Vzhledem k tomu, že zde nejsou žádné karty, je nutné třídit pouze pole 1.


Buďte však opatrní:

Pokud chcete soubor seřadit primárně podle pole 3 a sekundárně podle pole 2, chcete toto:

sort -k 3,3 -k 2,2 < inputfile

Toto ne: sort -k 3 -k 2 < inputfile který třídí soubor podle řetězce od začátku pole 3 do konce řádku (což je potenciálně jedinečné).

-k, --key=POS1[,POS2]     start a key at POS1 (origin 1), end it at POS2
                          (default end of line)

Linux
  1. Co dělá Gnome s multimediálními klávesami?

  2. Seřadit soubory v konkrétní složce pomocí Ranger?

  3. Řazení v bash

  1. Spravujte více instancí služeb pomocí systemctl

  2. Systemd s více execStart

  3. příkaz find výchozí pořadí řazení

  1. Seřadit pomocí řazení na příkazovém řádku

  2. SSH – Generování a práce s ssh klíči

  3. Řazení souboru odděleného tabulátory