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 16:11 | Komunita

Vývojáři relačního databázového systému PostgreSQL oznámili, že schválili svůj Code of Conduct (CoC) aneb kodex chování vývojářů PostgreSQL.

Ladislav Hagara | Komentářů: 9
dnes 14:44 | Nová verze

Byla vydána verze 1.0 poštovního serveru Courier (Wikipedie). Aktualizovány byly také související balíčky jako Courier authentication library, Courier-IMAP, SqWebMail, maildrop nebo Cone.

Ladislav Hagara | Komentářů: 0
dnes 02:22 | Zajímavý software

Společnost ​Versity Software otevřela svůj archivační souborový systém ScoutFS. Zdrojové kódy jsou k dispozici na GitHubu (kernel space, user space) pod licencí GPLv2.

Ladislav Hagara | Komentářů: 21
dnes 00:44 | Nová verze

Byla vydána verze 4.2 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 16.04 a Ubuntu 14.04. Přehled novinek ve videozáznamu přednášky z WWDC 2018.

Ladislav Hagara | Komentářů: 3
včera 17:55 | Nová verze

Po třech a půl letech od vydání verze 3.4.1 byla vydána nová verze 3.4.2 programu pro filtrování spamu Apache SpamAssassin (Wikipedie). Z novinek lze zmínit 4 nové pluginy. Pravidla budou ověřována pomocí SHA-256 a SHA-512 místo SHA-1. Řešeny jsou také 4 bezpečnostní chyby. Například chyba CVE-2018-11780 v pluginu PDFInfo zneužitelná ke vzdálenému spuštění kódů (RCE).

Ladislav Hagara | Komentářů: 0
včera 16:22 | Pozvánky

Díky openSUSE Video Teamu lze sledovat živý přenos většiny prezentací z letošní SUSE Labs Conference. Záznamy proběhlých prezentací budou postupně přidávány na kanál SUSE Labs na YouTube.

Michal Kubeček | Komentářů: 0
včera 10:22 | Pozvánky

Na webových stránkách konference LinuxDays byl zveřejněn program přednášek a workshopů. Současně byla spuštěna registrace. Konference proběhne o víkendu 6. a 7. října 2018 v Praze v areálu ČVUT v Dejvicích na Fakultě informačních technologií.

Ladislav Hagara | Komentářů: 0
včera 02:22 | Komunita

Linus Torvalds se v oznámení o vydání 4. rc verze Linuxu 4.19 omlouvá za své chování. Posledním commitem před zvýšením rc3 na rc4 bylo odstranění souboru s Code of Conflict a přidání souboru s Contributor Covenant Code of Conduct vycházejícího z Contributor Covenant. Vývoj Linuxu 4.19 dokončí Greg Kroah-Hartman. Linus Torvalds si bere volno a bude pracovat na svém chování. Pravděpodobně vylepší svého poštovního klienta, aby mu nedovolil odesílat emaily obsahující nadávky.

Ladislav Hagara | Komentářů: 48
16.9. 11:33 | Nová verze

Byla vydána verze 1.23 open source nástroje pro on-the-fly šifrování (OTFE) dat VeraCrypt. Přehled novinek v nejnovější verzi tohoto nástupce TrueCryptu v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
15.9. 11:11 | Nová verze

Byly vydány verze 3.0.3 a 3.16 softwaru Wine (Wikipedie), tj. softwaru vytvářejícího aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem. Stabilní verze 3.0.3 je třetí opravnou verzí verze 3.0 vydané v lednu. Opravuje 52 chyb. Z novinek vývojové verze 3.16 lze zmínit například počáteční implementaci OPC Services (Open Packaging Conventions).

Ladislav Hagara | Komentářů: 1
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (20%)
 (23%)
 (24%)
 (4%)
 (1%)
Celkem 354 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Dotaz: Problém s funkcí sort

3.11.2017 17:00 matěj
Problém s funkcí sort
Přečteno: 720×
Ahoj chlapi, proč nemůžu setřídít položky v poli? Oba dva příkazy vyplivnou zcela stejný výsledek?
for arr in "${ARR[@]}"; do echo $arr; done | sort
for arr in "${ARR[@]}"; do echo $arr; done
Chybí tam něco? Nějaké nápady? Zkoušel jsem to i takto, no výsledek je nefunkční.
ARR=($(sort "${ARR[@]}"))

Řešení dotazu:


Odpovědi

3.11.2017 17:53 Andrej | skóre: 45 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Problém s funkcí sort

Asi by to chtělo blíž popsat, co přesně je v tom poli ARR. Mně třeba tohle funguje a třídí/netřídí, přesně jak bych čekal:

ARR=(c b a)
for arr in "${ARR[@]}"; do echo "$arr"; done | sort
for arr in "${ARR[@]}"; do echo "$arr"; done

Takže odhaduju, že problém s tříděním se může týkat buď (a) něčeho neobvyklého, co máš v poli ARR, nebo (b) nastavení locale, které způsobuje překvapivé pořadí při třídění.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
3.11.2017 17:57 Andrej | skóre: 45 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Problém s funkcí sort

Jo a to druhé, co uvádíš, mi taky funguje (když tedy správě ošetřím, že sort potřebuje mít na vstupu oddělovače řádků):

ARR=(c b a)
echo "Před tříděním: ${ARR[*]}"
ARR=($(for arr in "${ARR[@]}"; do echo "$arr"; done | sort))
echo "Po třídění: ${ARR[*]}"
ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
3.11.2017 18:35 Andrej | skóre: 45 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Problém s funkcí sort
Ještě jedna technická, jen tak pro úplnost, aby to někde na těch Internetech bylo: Co dělat, když jsou v tom poli mezery? Třeba tohle:
ARR=('c d' 'b c' 'a b')

echo 'Před tříděním:'
for idx in "${!ARR[@]}"; do echo "${idx}: ${ARR[idx]}"; done

readarray -t ARR < <(for arr in "${ARR[@]}"; do echo "$arr"; done | sort)

echo 'Po třídění:'
for idx in "${!ARR[@]}"; do echo "${idx}: ${ARR[idx]}"; done
ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
4.11.2017 17:08 gll
Rozbalit Rozbalit vše Re: Problém s funkcí sort
printf '%s\n' "${ARR[@]}"
printf '%s\n' "${ARR[@]}" | sort
5.11.2017 04:40 Andrej | skóre: 45 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Problém s funkcí sort

Jo, to je mnohem lepší! Toho jsem si doteď nikdy nevšiml, že printf v Bashi interpretuje formátovací řetězec znova od začátku, když najde další argumenty.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
7.11.2017 12:13 matěj
Rozbalit Rozbalit vše Re: Problém s funkcí sort
Ono to třídí nějak divně, je tam potřeba dát i nějaký parametr?
ARR=(c b a 9 8 7 6 5 4 1 2 10 100 200)
echo "Před tříděním: ${ARR[*]}"
ARR=($(for arr in "${ARR[@]}"; do echo "$arr"; done | sort))
echo "Po třídění: ${ARR[*]}"
Před tříděním: c b a 9 8 7 6 5 4 1 2 10 100 200
Po třídění: 1 10 100 2 200 4 5 6 7 8 9 a b c
Řešení 1× (Vladimír Čunát)
7.11.2017 12:21 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: Problém s funkcí sort
sort -n
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

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.