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 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 4
    dnes 04:22 | Komunita

    V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.

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

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

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

    Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

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

    Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.

    Petr Krčmář | Komentářů: 0
    včera 11:00 | Nová verze

    Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    9.9. 22:22 | IT novinky Ladislav Hagara | Komentářů: 6
    9.9. 17:44 | IT novinky

    Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.

    Ladislav Hagara | Komentářů: 10
    9.9. 17:00 | Komunita

    DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2638 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 606×
    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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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.