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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 0
včera 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
včera 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 4
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 27
6.12. 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 790 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: nefunguje sort

13.8.2008 16:50 mapim | skóre: 18
nefunguje sort
Přečteno: 468×
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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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.