abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

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

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 4
    včera 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    27.5. 21:22 | 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 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    27.5. 15:44 | IT novinky

    Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".

    Ladislav Hagara | Komentářů: 3
    27.5. 15:11 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.

    Petr Krčmář | Komentářů: 0
    25.5. 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 13
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 21
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 946 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Jak v Bashi rozparsovat názvy souborů na adresáře

    6.4.2018 21:42 Oleg
    Jak v Bashi rozparsovat názvy souborů na adresáře
    Přečteno: 304×
    Ahoj, potřeboval bych nakopnout, jak z názvů jako mat_ZMA_integraly_ukol1.doc udělat stromovou adresářovou strukturu (prostě jakoby _ nahradit za /) v níž pak bude uložen soubor ukol1.doc. Takhle pojmenovaných mám asi tisíc souborů, které potřebuji roztřídit do správných adresářů (pokud neexistuje tak vytvořit) a název souboru prostě zkrátit. Nechce se mi vymýšlet nic složitého, tak asi bude nejlepší, kdyby to bylo v Bashi.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (jose17)
    7.4.2018 03:01 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Jak v Bashi rozparsovat názvy souborů na adresáře
    Získat string aktuálního jména souboru. To asi pomocí cyklu s find. Po evaluaci cílového adresáře a jména udělat něco jako
    cp "$ORIGNAME" cil
    Řešení je několik. Záleží na tom co všechno za stringy je ve jméně souboru a zda k tomu chceš i něco přidávat.

    1) Můžeš udělat pattern matching
    ${parameter#word}
    matchovat na "_" a vybírat vždy head (první proměnnou) a tail (zbytek) a z headu dělat mkdir. Až bude tail prázdnej, tak bude v head název souboru.

    2) Nastavit IFS na "_" a na string a rozparsovat jednotlivé substringy přes
    for DIR in $ORIGNAME
    Je dost možný, že si budeš muset zapamatovat starej IFS a přepínat ho. Taky si musíš vymyslet detekci posledního substringu (jména souboru).

    3) Turbo řešení by bylo vzít string jména souboru, všechny podtržítka nahradit "/"
    ${parameter/pattern/string}
    a pak provést
    dirname "a/b/c/d/e/file.xxx"
    na získání cesty a udělat mkdir -p na vytvoření. Ale tam se může rozbít hodně věcí.
    7.4.2018 08:19 Oleg
    Rozbalit Rozbalit vše Re: Jak v Bashi rozparsovat názvy souborů na adresáře
    Díky moc! To s tím IFS je chytrý. To by asi šlo i v AWK, který je na takové dělení podle FS dělanej, pak bych volal system() a vytvářel a přesouval nebo rovnou kopíroval cp --parents.

    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.