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 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | Pozvánky

    Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá

    … více »
    bkralik | Komentářů: 0
    dnes 03:22 | Nová verze

    86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.

    Ladislav Hagara | Komentářů: 0
    dnes 03:00 | Nová verze

    Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.

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

    Alliance for Open Media vydala verzi 1.0.0 specifikace svobodného videoformátu AV2. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, představil na svém blogu dekodér AV2 s názvem dav2d.

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

    V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.2.0.

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

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.5.1. Přehled novinek na GitHubu.

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

    Byla vydána nová stabilní verze 26.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Yarara. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    29.5. 00:22 | Nová verze

    Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 2
    28.5. 20:33 | IT novinky

    Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1786 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Bash-mezery v obsahu proměnné

    25.1.2011 22:29 sysel
    Bash-mezery v obsahu proměnné
    Přečteno: 705×
    Zdravím, jsem začátečník v programování v bashi, ale většinou mi google pomůže... Dneska už ani ten neví, tak se obracím zde... Nějak se mi nedaří vložit do proměnné prázdné znaky. Mám názvy pokojů (Kuchyň, Chodba, Obývací pokoj) a potřeboval bych aby měly všechny názvy stejnou délku. Zkoušel jsem už kde co, když to doplním do délky 15 znaků tečkama, pomlčkama, nebo čímkoliv tak to jde, pokud dám mezery tak se prostě vytratí... Jede to ve smyčce, vstup je
    pokoj="Kuchyň" a já bych potřeboval výstup například
    pokoj="Kuchyň " (mělo by tam být těch mezer více, ale po vložení dotazu se to zredukuje na jednu :( )
    Lze toho vůbec docílit, nebo se snažím zbytečně? Díky za jakékoliv nakopnutí... Honza

    Odpovědi

    25.1.2011 22:47 Ondřej Kopka | skóre: 19 | blog: ondrejk
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné
    Zkus tohle:
    pokoj="Kuchyn"
    pokoj="$pokoj "
    
    BTW proč je třeba aby měly všechny názvy stejnou délku?
    25.1.2011 22:58 sysel
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné
    Taky nefunguje... S jiným znakem jo, ale mezera prostě ne.... Protože jsem chtěl automatizovat tvorbu grafů pomocí RRD a aby byly všechny názvy a hodnoty k nim stejně zarovnané... Nakonec jsem začal metodou čistého souboru a napadlo mně tohle:
    if [ ${#popis} -lt 6 ]; then
    dodatek="\\t\\t\\t"
    elif [ ${#popis} -lt 12 ]; then
    dodatek="\\t\\t"
    else
    dodatek="\\t"
    fi
    popis=$popis$dodatek
    kupodivu to fungovalo na první pokus.... Ale pokud by někdo věděl proč se to děje s těma mezerama, tak se rád nechám poučit...
    25.1.2011 22:50 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné
    pokud dám mezery tak se prostě vytratí..
    Jestli načítáte pomocí read nebo tak, tak mezery zlikviduje shell ještě před načtením. Vychází to z toho, že uživatel si může mezerami zarovnávat a že data jsou obvykle jiné znaky.
    Lze toho vůbec docílit, nebo se snažím zbytečně?
    V proměnné samozřejmě mezery být mohou. Pokud např. budete načítat ze souboru a první řádek bude končit mezerami, tak
    radek="`head -n 1 soubor`";
    echo "$radek."
    vypíše řádek v pořádku i s mezerami jak byly v původním souboru.

    Pokud potřebujete zarovnávat výstup, zkuste printf (pokud ho máte), popř. doplnit mezery na danou šířku lze i sedem nebo v AWKu.
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    Jendа avatar 25.1.2011 22:54 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné
    Máš to divný, mně
    pokoj="Kuchyň       "
    funguje.
    (mělo by tam být těch mezer více, ale po vložení dotazu se to zredukuje na jednu :( )
    Existuje HTML značka <pre>
    25.1.2011 23:00 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné

    Zdravim, tak stacilo by do tej slucky zapisat nieco taketo:

    printf -v pokoj "%-15s" "${pokoj}"

    Vyssie uvedena cast prepise stavajucu hodnotu premennej pokoj na hodnotu $pokoj s adekvatnym poctom medzier, aby celkova dlzka hodnoty bola 15. Ak chces medzery pred, tak bez toho minuska pred 15. Rovnako je mozne dat namiesto 15 inu hodnotu aj ako premennu.

    26.1.2011 01:38 Sten
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné
    Mezery se do proměnné samozřejmě uloží (dá se tam uložit cokoliv, klidně i řídící znaky), ale při vypisování je potřeba dát pozor na to, jak se vypisují. Zavoláním
    echo $pokoj
    se mezery odstraní, protože bash takový příkaz přeloží na
    echo Kuchyň         ¶
    (znak ¶ označuje konec řádku, doplněn byl pro lepší čitelnost)
    a mezery odstraní jako oddělovače. Správný způsob použití je onu proměnnou uzavřít do uvozovek:
    echo "$pokoj"
    Potom bash takový příkaz přeloží na
    echo "Kuchyň         "
    kde jsou mezery uzavřené v uvozovkách a tak bash ví, že nejde o oddělovač, a tak je neodstraní.
    26.1.2011 08:47 sysel
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné
    Díky!!!!

    Tohle je konečně to co mi nedošlo... I když jsem už o tom četl, mám to v hlavě, ale prostě jsem to tam nedokázal použít. Asi už bylo pozdě...

    26.1.2011 09:33 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Bash-mezery v obsahu proměnné
    S mezerama a obecně bílými znaky v řetězcích budeš bojovat v bashi pořád. Buď si člověk na ten boj zvykne a naučí se používat různé workaroundy, nebo se musí přeškolit na jiný jazyk :-)

    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.