Mám soubor1:
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
Soubor2 I chcete:
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
V zásadě číselně seřadit soubor1.
Komentáře
Odpovědět
Líbí se mi -V –version-sort: chová se velmi dobře v mnoha situacích, když míchá řetězce a čísla
sort -V
Tuto možnost používám velmi často …
Nějakým směrem , ls -v
pro verzi-sort ls
.
Odpovědět
Musíte říct sort -n
, aby seřadil podle části po =
:
sort -t = -k 2n
Komentáře
- Nedávno jsem hledal toto ^ ^. Ale ještě jedno Q. Co dělá
-k2n
? Týká se to číselného řazení? děkuji. - @KasiyA
-k
definuje klíč řazení. Podrobnosti najdete na manuálové stránce.-k2n
definuje klíč řazení, který začíná na druhém poli a končí na konci řádku, a činí z něj číselný klíč řazení.
Answer
Zjistil jsem, že stačí spustit sort -h
, bude to fungovat. Říkají tomu --human-numberic-sort
.
sort -h file1 > file2
Odpovědět
použít řazení:
sort -n file1 > file2
-n, –numeric-sort
porovnat podle číselné hodnoty řetězce
sort -g file1 > file 2
-g, –general-numeric-sort
Komentáře
- Ne, všechny ty řádky mají stejné hodnocení s
sort -n
, protože nezačínají ' číslem. Důvodem, proč je třídí, je poslední možnost úplného řádkování (lexikálně, ne číselně) provedené pro řádky se stejným hodnocením. To by"$lvl=17"
před"$lvl=2"
. - @St é phaneChazelas děkuje za poukázání.
- Pro parafrázi jsou zde
-n
a-g
nadbytečné, protože vstup není číselný . Tato odpověď je tedy zavádějící, a proto je protihlasovatel (také si všimněte, že-g
a dlouhé možnosti jsou specifické pro GNU). - ale -g je dobrý general-numeric- třídit
- To ' stále pro třídění číselných hodnot, rozdíl oproti
-n
spočívá v tom, že ' se neomezuje na celá desetinná čísla. To by se"$lvl=17"
před"$lvl=2"
v rámci třídění poslední instance setřídilo.
Odpověď
sort -n
je to, co chcete použít. Třídí se, jak třídíme čísla. sort -k 2 -n file1
Komentáře
- Ale OP chce třídit vzestupně, což je výchozí nastavení. Proč navrhujete obrácené pořadí?
- Výše uvedené je správné, když jsou pole oddělena kartami nebo mezerami a nebudou fungovat v OP ' s případ.
sort
, bez možností, dostanu váš File2. Co děláš jinak? Co z této otázky vynecháváte?