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 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 28
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

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

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 329 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: Hromadná změna názvu souboru dle regexp

    6.3.2013 17:42 regulator
    Hromadná změna názvu souboru dle regexp
    Přečteno: 286×
    Ahoj,

    můžete mi poradit jak hromadně přejmenovat všechny soubory ve složce s danou maskou např.

    /home/admin/neco-neco.www.neco.txt

    na

    /home/admin/neco-neco.neco.txt

    Tedy zbavit se "www.".

    Díky

    Řešení dotazu:


    Odpovědi

    6.3.2013 19:27 hajoucha | skóre: 22
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp
    nezkoušel jsem, ale myslím, že tohle umí příkaz rename
    6.3.2013 20:04 potato
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp
    Existují dva různé příkazy rename, jeden pracuje s regulárními výrazy, druhý ne. Na toto lze použít kterýkoli, ale volání bude trochu jiné...
    6.3.2013 21:10 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp

    Da sa to aj cisto v bash-i a inych shelloch tiez isto. V bash-i by to mohlo byt aj nasledovne a mozno aj jednoduchsie (aj ked rychlost nebude mozno ozdobou tohto riesenia pri velkych objemoch :) ):

    cesta='path/admin'
    string='.www'
    maska='^.*-.*\.www\..*\.txt$'
    
    for file in "$cesta"/*
    do 
        if [[ -f "$file" && -w "$file" ]]
        then 
            if [[ "$file" =~ $maska ]]
            then 
                mv "${BASH_REMATCH[0]}" "${BASH_REMATCH[0]/$string}"
            fi
        fi
    done
    
    6.3.2013 21:24 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp

    No zrovna cisto v bash-i to nie je skrz pouzitia mv. Tak kludne ostan pri rename, ak ti to vyhovuje. :)

    6.3.2013 23:36 potato
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp
    +1

    Namísto spuštění jednoho rename se vytváří proces pro přejmenování každého jednotlivého souboru.
    6.3.2013 23:54 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp
    S tym suhlasim, ale ako si mozes vsimnut, na rename moc nedal taktiez ku koncu, kedze strejda gugl vyplul nieco podobneho. A ... tak nemam co robit, tak to potom aj vyzera. :) Resp. by bolo, ale to by som sa musel citit o nieco lepsie.
    6.3.2013 21:59 Vodny | skóre: 8
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp
    Toto si složil jen tak z hlavy?
    6.3.2013 23:33 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp

    Tak odniekal to musi ist. :D Na tom nie je nic zlozite. Sa vezme kazdy subor (subor, adresar, link, atd ) na zadanom umiestneni (premenna cesta), otestuje sa, ci je to skutocne subor a ci mame opravnenie na zapis. Nasledne sa overi, ci nazov suhlasi s nasim vzorcom (premenna maska ) a ak ano, tak sa odstrani nezelany retazec ( premenna string ).

    6.3.2013 23:27 regulator
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp
    Díky všem, nakonec vyřešeno in-one-line :), díky strejdo google
     for filename in aws*; do newname=`echo $filename | sed 's/\.www//g'`; mv $filename $newname; done
    
    6.3.2013 23:50 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: Hromadná změna názvu souboru dle regexp

    Volat sed v tomto pripade je zbytocne, bo to je riadny kanon na tak jednoduchu vec.Ono to ide aj takto, teda pokial to moze byt bash alebo iny shell, ktory podporuje manipulaciu s retazcami na premennych. (Nechce sa mi teraz hladat, ci a ci nie je to aj v bourne shell a inych ) A nezabudni, ze dvojite uvodzovky neuskodia okolo dpremennych s nazvami suborov, inak to moze dopadnut inak nez by si si zelal.

    for filename in aws*; do mv "$filename" "${filename/\.www}"; done

    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.