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:00 | Pozvánky

    V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »

    lkocman | Komentářů: 0
    dnes 14:11 | IT novinky

    Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.

    Ladislav Hagara | Komentářů: 1
    dnes 05:55 | IT novinky

    Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o

    … více »
    Ladislav Hagara | Komentářů: 19
    dnes 04:44 | IT novinky

    Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

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

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

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

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 13
    17.8. 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    17.8. 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2434 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: 540×
    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.