abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 19:33 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.49.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 15:22 | IT novinky

    Masivní výpadek elektrického proudu zasáhl velkou část České republiky. Hasiči vyjížděli k většímu počtu lidí uvězněných ve výtazích. Výpadek se týkal zejména severozápadu republiky, dotkl se také Prahy, Středočeského nebo Královéhradeckého kraje. Ochromen byl provoz pražské MHD, linky metra se už podařilo obnovit. Výpadek proudu postihl osm rozvoden přenosové soustavy, pět z nich je nyní opět v provozu. Příčina problémů je však stále neznámá. Po 16. hodině zasedne Ústřední krizový štáb.

    Ladislav Hagara | Komentářů: 16
    dnes 02:33 | Nová verze

    Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.

    Ladislav Hagara | Komentářů: 4
    dnes 01:33 | Nová verze

    Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Zajímavý software

    Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 02:33 | Nová verze

    Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.

    Ladislav Hagara | Komentářů: 0
    včera 01:33 | Komunita

    Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.

    Ladislav Hagara | Komentářů: 0
    2.7. 16:55 | Nová verze

    Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (27%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 353 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: nefunguje sort

    13.8.2008 16:50 mapim | skóre: 18
    nefunguje sort
    Přečteno: 668×
    ahoj, mam takovyto soubor:

    BB000 00000
    BB001 00001
    BB002 00002
    AA000 00000
    AA001 00001
    AA002 00002

    pokud napisu cat file | sort | less, mam z toho toto:
    AA000 00002
    AA001 00001
    AA002 00000
    BB000 00002
    BB001 00001
    BB002 00000

    a ja bych potreboval
    AA000 00000
    AA001 00001
    AA002 00002
    BB000 00000
    BB001 00001
    BB002 00002

    co delam spatne? podle toho, co jsem se docet napriklad tady: http://en.wikipedia.org/wiki/Sort_(Unix), by melo stacit pouhe sort (pracuji na freebsd)
    dekuji za pomoc

    Odpovědi

    13.8.2008 17:06 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: nefunguje sort
    Opravdu vám příkaz sort generuje řádky, které v původním vstupním souboru vůbec nebyly? To odporuje nejen dokumentaci, ale mé zkušenosti. Když zkusím ten váš příklad na svém systému, výsledek vypadá jako vaše třetí ukázka.
    Tarmaq avatar 13.8.2008 17:37 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: nefunguje sort
    Me to funguje taky spravne... jste si jist ze mate ten soubor presne takhle?
    Don't panic!
    14.8.2008 02:21 abr | skóre: 24 | blog: ab
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    U me na fbsd7 taky spravne.
    14.8.2008 06:09 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    dekuji za komentare. stravil jsem nad tim hodne casu, a bohuzel musim rict ano, dela to tak, jak jsem popsal. cely muj prikaz zni takto (mozna bude chyba nekde v tady)

    cat soubor | grep -v "*" | grep -v "-" | cut -c25-29,125-130 | sort | less
    14.8.2008 06:13 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    jeste jen doplnim, ze nevygeneruje pred tim neexistujici radky, nybrz druhy sloupec setridi reverzne oproti prvnimu.
    14.8.2008 07:11 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    jsem z toho jelen, pokud pouziji jeste jeden sloupec, ktery tam je k dispozici, setridi se to spravne.

    AA000 0 00000
    AA001 1 00001
    AA002 2 00002
    BB000 0 00000
    BB001 1 00001
    BB002 2 00002
    14.8.2008 08:53 R
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    Cize vygeneruje neexistujuce riadky? Sort funguje tak, ze meni poradie riadkov, nic ine!
    14.8.2008 09:42 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    ne, obsah druheho sloupce je stejny, akorat sloupec 1 je serazen od a-z a sloupec 2 od z-a - coz se nedeje, pokud pouziji jeste jeden slopec, pak je treti sloupec v poradku serazen. prikaz vypada tedy takto:

    grep -v "*" soubor | grep -v "-" | cut -c25-29,39-40,125-130 | awk 'BEGIN { FS=" " } { print ($1,$2,$3 / 1000); }' >1;
    14.8.2008 09:46 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    teda takhle:
    grep -v "*" soubor | grep -v "-" | cut -c25-29,39-40,125-130 | sort | awk 'BEGIN { FS=" " } { print ($1,$2,$3 / 1000); }' | less
    14.8.2008 12:10 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?

    No to prave nemuze nastat. Lze sortu rict, aby jako klic k porovnani pouzil treba druhy sloupecek, ale vzdycky bude soupat s celymi radky, neexistuje aby si "vymyslel" svoje vlastni.

    Jeste bych se podival, co presne do sortu posilate, tedy do souboru si presmeroval vysledek toho vseho pred | sort, a pak to normalne pustil na cistej sort (sort < input.txt), schvalne, co z toho vznikne.

    14.8.2008 12:28 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    pokud zadam prikaz:
    grep -v "*" text0 | grep -v "-" | cut -c25-29,125-130 >text1;sort <text1 | less
    je to to same, pokud vsak zadam prikaz:
    grep -v "*" ftext0 | grep -v "-" | cut -c25-29,39-40,125-130 >text1;sort <text1
    je to v pohode
    14.8.2008 12:37 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    Hoďte sem (do přílohy) ukázku vstupu, na kterém se to projeví. Jinak se nejspíš dál nepohneme.
    14.8.2008 09:09 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    Ale to by opravdu znamenalo, že na výstupu příkazu sort dostanete řádky, které na vstupu nebyly.
    14.8.2008 09:21 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    Hm... a jak přesně vypadá ten vstup, který do toho posíláte?
    14.8.2008 09:44 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    mohu zaslat na mejl, jestli mate zajem
    14.8.2008 12:03 abr | skóre: 24 | blog: ab
    Rozbalit Rozbalit vše Re: Co znamena za FreeBSD 7.0 znacka p3 ?
    Dej to sem do prilohy (staci par "neskodnych" radku).
    14.8.2008 13:04 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: nefunguje sort
    vstup:
    0 1 AB001 0 0 11311 1 1 720864 208552 16000 60000 11 8 12 12 26 30 3 512
    0 1 AB001 1 0 11312 1 1 720864 208552 8000 60000 11 8 12 12 26 30 3 512
    0 1 AB001 2 0 11313 1 1 720864 208552 16000 60000 11 8 12 12 26 30 3 512
    0 1 AG001 0 0 11311 1 1 720864 208552 16000 60000 11 8 12 12 26 30 3 512
    0 1 AG001 1 0 11312 1 1 720864 208552 4000 60000 11 8 12 12 26 30 3 512
    0 1 AG001 2 0 11313 1 1 720864 208552 9 60000 11 8 12 12 26 30 3 512
    prikazem
    grep -v "*" SOUBOR | grep -v "-" | cut -c25-29,39-40,125-130 | sort | awk 'BEGIN { FS=" " } { print ($1,$2,$3 / 1000 ); }' | less
    si udelam takovyto vystup:
    AB001 0 16
    AB001 1 8
    AB001 2 16
    AG002 0 16
    AG002 1 4
    AG002 2 9
    pokud vsak vynecham prostredni sloupecek (ktery az tak nepotrebuji - nikomu nezavazi) a z prikazu cut -c25-29,39-40,125-130 udelam cut -c25-29,125-130, sort prestane fungovat.

    - jako dalsi dotaz mam (nikde jsem nenasel) jak pridat sloupecek z externiho souboru za tyhle dalsi sloupce? moc dekuji

    14.8.2008 13:25 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: nefunguje sort

    Nemáte pravdu, sort funguje pořád, jen dělá to, co má, ne co vy si představujete. Neuvedete-li klíč, řadí se celé řádky jako řetězce. V tomto smyslu platí např.

      'AG001 16000' < 'AG001 4000' < 'AG001 9'
    

    P.S.: ani výstup, který uvádíte, neodpovídá vstupu, který uvádíte.

    14.8.2008 13:42 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: nefunguje sort

    Ještě doplnění: pokud jsem dobře pochopil, že potřebujete řadit podle prvního sloupce textově a jako druhé kritérium podle druhého sloupce číselně, použijte

      sort  -k 1,1 -k 2n
    
    14.8.2008 13:22 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: nefunguje sort
    nemam dneska stasty den, tady je konecne spravne popsany vstup a vystup:

    vstup:
    0 1 AG002 0 0 11311 1 1 720864 208552 16000 60000 11 8 12 12 26 30 3 512
    0 1 AG002 1 0 11312 1 1 720864 208552 4000 60000 11 8 12 12 26 30 3 512
    0 1 AG002 2 0 11313 1 1 720864 208552 9000 60000 11 8 12 12 26 30 3 512
    0 1 BC050 0 0 11311 1 1 720864 208552 14000 60000 11 8 12 12 26 30 3 512
    0 1 BC050 1 0 11312 1 1 720864 208552 3000 60000 11 8 12 12 26 30 3 512
    0 1 BC050 2 0 11313 1 1 720864 208552 6000 60000 11 8 12 12 26 30 3 512
    0 1 AB001 0 0 11311 1 1 720864 208552 16000 60000 11 8 12 12 26 30 3 512
    0 1 AB001 1 0 11312 1 1 720864 208552 8000 60000 11 8 12 12 26 30 3 512
    0 1 AB001 2 0 11313 1 1 720864 208552 16000 60000 11 8 12 12 26 30 3 512
    prikazem
    grep -v "*" SOUBOR | grep -v "-" | cut -c25-29,39-40,125-130 | sort | awk 'BEGIN { FS=" " } { print ($1,$2,$3 / 1000 ); }' | less
    si udelam takovyto vystup:
    AB001 0 16
    AB001 1 8
    AB001 2 16
    AG002 0 16
    AG002 1 4
    AG002 2 9
    BC050 0 14
    BC050 1 3
    BC050 2 6
    pokud vsak vynecham prostredni sloupecek (ktery az tak nepotrebuji - nikomu nezavazi) a z prikazu cut -c25-29,39-40,125-130 udelam cut -c25-29,125-130, sort prestane fungovat.

    - jako dalsi dotaz mam (nikde jsem nenasel) jak pridat sloupecek z externiho souboru za tyhle dalsi sloupce? moc dekuji


    14.8.2008 13:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: nefunguje sort
    Používejte element pre, vzhledem k použití příkazu 'cut -c' záleží velmi výrazně na rozložení mezer. Vstup, který jste teď uvedl, ani zdaleka nevede na výstup, který uvádíte. Tentokrát navíc ani po zkopírování přímo ze zdrojáku stránky.
    14.8.2008 13:57 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: nefunguje sort
    vstup:
    1           22          AG002          0           0            51071       1           1           708814      238794       16000       60000         51          8             12            12            26             30              3                512     
    1           22          AG002          1           0            51072       1           1           708814      238794       3000        60000         51          8             12            12            26             30              3                512     
    1           22          AG002          2           0            51073       1           1           708814      238794       13000       60000         51          8             12            12            26             30              3                512     
    1           23          BC050          1           0            53182       1           1           717549      263015       5000        60000         53          8             12            12            26             30              3                256     
    1           23          BC050          2           0            53183       1           1           717549      263015       16000       60000         53          8             12            12            26             30              3                256     
    1           24          BC050          0           0            53073       1           1           719191      257662       3000        60000         53          8             12            12            26             30              3                256     
    1           25          AB001          0           0            53092       1           1           719173      257959       3000        60000         53          8             12            12            26             30              3                512     
    1           25          AB001          1           0            53093       1           1           719173      257959       2000        60000         53          8             12            12            26             30              3                512     
    1           26          AB001          0           0            55151       1           1           713840      231034       16000       60000         74          8             12            12            26             30              3                512     
    1           26          VY015          1           0            55152       1           1           713840      231034       16000       60000         55          8             12            12            26             30              3                512     
    1           26          VY015          2           0            55153       1           1           713840      231034       16000       60000         55          8             12            12            26             30              3                512     
    

    prikaz:
    grep -v "*" soubor | grep -v "-" | cut -c25-29,39-40,125-130 | sort | awk 'BEGIN { FS=" " } { print ($1,$2,$3 / 1000 ); }' | less

    vystup
    AB001 0 16
    AB001 0 3
    AB001 1 2
    AG002 0 16
    AG002 1 3
    AG002 2 13
    BC050 0 3
    BC050 1 5
    BC050 2 16
    VY015 1 16
    VY015 2 16
    
    14.8.2008 14:01 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: nefunguje sort
    Ano, takový výstup je naprosto v pořádku. Viz odpověď výše.
    14.8.2008 16:03 mapim | skóre: 18
    Rozbalit Rozbalit vše Re: nefunguje sort
    ano, ale bez prostredniho sloupce je to sptane. vi nekdo proc?
    $ grep -v "*" soubor | grep -v "-" | cut -c25-29,125-130 | sort | awk 'BEGIN { FS=" " } { print ($1,$2 / 1000 ); }' | less
    AB001 16
    AB001 2
    AB001 3
    AG002 13
    AG002 16
    AG002 3
    BC050 16
    BC050 3
    BC050 5
    VY015 16
    VY015 16
    $ grep -v "*" soubor | grep -v "-" | cut -c25-29,39-40,125-130 | sort | awk 'BEGIN { FS=" " } { print ($1,$2,$3 / 1000 ); }' | less
    AB001 0 16
    AB001 0 3
    AB001 1 2
    AG002 0 16
    AG002 1 3
    AG002 2 13
    BC050 0 3
    BC050 1 5
    BC050 2 16
    VY015 1 16
    VY015 2 16
    
    14.8.2008 16:08 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: nefunguje sort
    Ne, je to naprosto v pořádku. Vysvětlení máte v mém příspěvku z 13:25 a způsob, jak dosáhnout toho, co chcete, v mém příspěvku z 13:42. Howgh
    14.8.2008 14:31 Jirka P
    Rozbalit Rozbalit vše Re: nefunguje sort
    Když jsem vyhodil prostřední sloupec z cutu, tak mi vylezlo
    AB001 16000 0
    AB001 2000 0
    AB001 3000 0
    AG002 13000 0
    AG002 16000 0
    AG002 3000 0
    BC050 16000 0
    BC050 3000 0
    BC050 5000 0
    VY015 16000 0
    VY015 16000 0
    
    Nepřipadá mi to špatně. Vám ano?

    Pro připojení dalšího sloupce zkuste příkaz paste, ale tam budete mít problém, že zarovnáváte mezerami, což nevím jak by se dělalo.
    14.8.2008 16:33 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: nefunguje sort
    1. bych ten sort dal uplne nakonec

    2. je potreba si uvedomit ze sort bez parametru tridy retezce ne cisla takze "2" > "16"
    14.8.2008 17:24 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: nefunguje sort
    Bývá dobré si nejdřív přečíst předchozí odpovědi.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.