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í
×
    včera 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.

    Ladislav Hagara | Komentářů: 17
    3.5. 22:33 | Nová verze

    Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.

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

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

    Ladislav Hagara | Komentářů: 0
    2.5. 19:11 | IT novinky

    Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 5
    2.5. 11:22 | Zajímavý projekt

    Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.

    Ladislav Hagara | Komentářů: 2
    2.5. 09:11 | Bezpečnostní upozornění

    Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.

    Ladislav Hagara | Komentářů: 2
    1.5. 20:00 | Komunita

    V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.

    Ladislav Hagara | Komentářů: 3
    1.5. 19:22 | IT novinky

    Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).

    Ladislav Hagara | Komentářů: 0
    30.4. 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 522 hlasů
     Komentářů: 22, poslední dnes 10:06
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Jak na pevnou šířku v bashi

    7.8.2012 19:19 MM
    Jak na pevnou šířku v bashi
    Přečteno: 324×
    Jak můžu docílit něčeho takového?

    funkce která má pevnou šířku
    function prints {
     echo -en "[ $1                                                                ]"
    }
    mám texty o různých delkách
    prints "dasdsadas  sa a asd as dasd a d"
    výstup z příkazu
    prints "dasad a dd aadasd a d"
    výstup z příkazu
    prints "dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d"
    výstup z příkazu
    a výsledek je pak
    [ dasdsadas  sa a asd as dasd a d                                   ]
    výstup z příkazu
    [ dasad a dd aadasd a d                                             ]
    výstup z příkazu
    [ dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d        ]
    výstup z příkazu
    jenže následující text je na novém řádku a ne na konci, poztřebuji to takto, poradí někdo? Pokud to jde tak mimo použití cyklů s počítáním znaků a doplnováním mezer. ;-) Díky
    [ dasdsadas  sa a asd as dasd a d                                   ] výstup z příkazu
    [ dasad a dd aadasd a d                                             ] výstup z příkazu
    [ dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d        ] výstup z příkazu
    

    Řešení dotazu:


    Odpovědi

    7.8.2012 19:24 Sten
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    man console_codes sekce ECMA-48 CSI sequences
    7.8.2012 19:25 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    printf
    7.8.2012 19:29 Kit
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Použij program printf.
    printf "[ %-60s ] " "dasad a dd aadasd a d"
    7.8.2012 19:47 MM
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Nemůžu použít printf :-( výpisy jsou barevně označené, což mi printf neoumožní...
    7.8.2012 19:56 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Proč ne? Cokoli protlačíte přes echo, protlačíte i přes printf (a často snáze).
    7.8.2012 20:00 MM
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi

    Aha, to mi nějak ušlo, vím, že jsem to kdysi zkoušel ale nešlo to.. tak to je fajn ;-)

    7.8.2012 19:58 Kit
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    To si děláš srandu nebo s ním prostě neumíš?
    7.8.2012 20:01 MM
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    nn, fakt mi to nešlo, ale jak to myslíš s tím číslem uvnitř? To si pro každý řádek nastavit podle počtu znaků v řetězci vypočítat jiné?
    7.8.2012 20:05 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Chcete-li něco zarovnat na pevnou šířku, tak musíte vědět na jakou. Nebo si očekáváte, že příkaz nějakou černou magií nastaví šířku podle parametrů následujících příkazů (které se ještě neprováděly)?
    7.8.2012 20:10 MM
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Ale to není vůbec pravda co píšete... navíc nevím co s tím mám společného nějaký příkaz ;-)
    7.8.2012 20:13 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Tak podle čeho by se podle vás ta šířka měla určit, pokud ji nechcete zadat?
    7.8.2012 20:23 MM
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Podle ničeho, třeba takto, pokud naplníte proměnnou AAA čímkoliv kratším než je první řádek s echem tak bude vždy znak "]" zarovnaný vpravo a nikde nic nepočítám ... jenže potřebujiá nasledujiící řádek vypsat za ten znak "]" a ne na nový řádek, nehledejme v tom nic slozitého ;)
    AAA="aaa sd d ada dad adadsas"
    
    echo -en "\r                                                                   ]"
    echo -e "\r[ $AAA"
    7.8.2012 20:33 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Začínám mít temné podezření, že jste se neobtěžoval si ani přečíst, co ten příkaz dělá, ale dokonce si to ani vyzkoušet.
    7.8.2012 21:56 MM
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Ale obtěžoval, ale je to nepoužitelný, jelikož to vyhodnocuje jinak znaky s diakritikou jak bez ní :-( Což moc nechápu ale je to tak..
    8.8.2012 01:43 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi

    Hm, zdá se, že printf ignoruje locales. V tom případě třeba nějak takhle:

    function align
    {
        local s="$1"
        local w="$2"
    
        if [ "${#1}" -le "$w" ]; then
            printf "%s%*s" "$s" $[w-${#s}] ""
        else
            echo -n "${s:0:$w}"
        fi
    }
    

    Příště zkuste psát své příspěvky trochu srozumitelněji a hlavně konkrétněji. Z věty

    To si pro každý řádek nastavit podle počtu znaků v řetězci vypočítat jiné?

    by asi jen velmi zkušený jasnovidec poznal, že máte na mysli problémy se zarovnáním na předepsanou šířku, pokud řetězec obsahuje znaky s diakritikou…

    8.8.2012 11:50 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Jsi dobrej, já vůbec nepochopil o co mu jde, myslel jsem, že o to, aby "výstup z příkazu" nebyl na novém řádku. A to by býval byl stejně nebyl. Přestože ve svém dotazu to tvrdí a označuje za problém k řešení. To s tou pevnou šířkou jsem naopak myslel, že má vyřešené, když říká "výstup vypadá takto (zarovnáno), ale já potřebuji..." :)
    8.8.2012 12:46 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    No, já to taky pochopil až z toho příspěvku z 21:56, do té doby jsem měl jen několik divokých teorií. Tahle mezi nimi nebyla…
    8.8.2012 20:20 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Jak na pevnou šířku v bashi
    Hm, zdá se, že printf ignoruje locales.

    To je vlastnost printf(3):

    • An optional minimum field width. If the converted value has fewer bytes than the field width, …

    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.