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

    Byly zveřejněny prezentace a videozáznamy přednášek a fotografie z česko-slovenského setkání poskytovatelů přístupu k internetu, provozovatelů telekomunikačních sítí, registrátorů domén a provozovatelů počítačových sítí a technických nadšenců CSNOG 2023 (Czech and Slovak Network Operators Group) konaného 16. a 17. května ve Zlínu.

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

    Soutěž amatérských robotů Robotický den 2023 proběhne v neděli 4. června v Kongresovém centru Praha.

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

    V Tchaj-peji probíhá počítačový veletrh COMPUTEX 2023. Firmy představují své novinky. Nvidia například superpočítač DGX GH200 AI.

    Ladislav Hagara | Komentářů: 2
    dnes 12:11 | Nová verze

    Vyšla nová verze XMPP (Jabber) klienta Gajim. Nejvýznamnější novinkou je integrace OMEMO pluginu přímo do jádra aplikace, takže již není třeba plugin samostatně instalovat. Přehled dalších novinek je dostupný na oficiálních stránkách. Gajim je vytvořen v jazyce Python s využitím knihovny GTK a vedle Linuxu jej lze vyzkoušet i na platformách MacOS a Windows.

    sonicpp | Komentářů: 0
    včera 22:22 | Komunita

    Komunita KDE představila stránku KDE for Developers pro vývojáře používající KDE aplikace. Postupně byly představeny stránky pro umělce KDE for Creators, děti KDE for Kids a vědce KDE for Scientists.

    Ladislav Hagara | Komentářů: 7
    včera 16:00 | IT novinky Ladislav Hagara | Komentářů: 0
    28.5. 22:00 | IT novinky Ladislav Hagara | Komentářů: 0
    28.5. 13:55 | Komunita

    Na itch.io probíhá Linux Game Jam 2023. Zapojit se a přihlásit hru běžící na Linuxu lze do 6. června do 01:59. Zahrát si lze hry z loňského ročníku.

    Ladislav Hagara | Komentářů: 3
    27.5. 18:55 | IT novinky

    Na Steamu lze získat zdarma počítačové hry Warhammer 40,000: Gladius - Relics of War a Hue. Na Epic Games Storu počítačovou hru Fallout: New Vegas - Ultimate Edition.

    Ladislav Hagara | Komentářů: 11
    26.5. 08:00 | Komunita

    WordPress (Wikipedie), open source systém pro správu webového obsahu (CMS), zítra slaví 20 let. První verze byla vydána 27. května 2003.

    Ladislav Hagara | Komentářů: 47
    Obnovovací frekvenci obrazovky (LCD) preferuji
     (74%)
     (20%)
     (4%)
     (2%)
    Celkem 798 hlasů
     Komentářů: 13, poslední 25.5. 07:25
    Rozcestník

    Dotaz: pouziti sed k uprave nazvu

    18.4.2013 18:50 blondyna
    pouziti sed k uprave nazvu
    Přečteno: 410×
    potrebuji upravit nazvy souboru respektive zkratit priklad

    abc-2013_12_23_34 potrebuji umazat vse za abc

    to bude vysledny soubor pocet znaku bude stejny a souboru je vice v jednotlivych slozkach tem chci ponechat puvodni nazev, ve vysledku se vsechny soubory budou jmenovat stejne abc bez datumu dik za pomoc

    Odpovědi

    18.4.2013 19:10 drunkezz | skóre: 34 | blog: kadeco
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu

    co ja viem....skor by som pouzil ten mv ako sed

    D.

    18.4.2013 19:19 Ondřej Kopka | skóre: 20 | blog: ondrejk
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu
    Zkus příkaz rename, je to součást binárek které přichází s Perlem ... alespoň v Debianu.

    Ukázka:
    drobek:~$ touch abc-2013_12_23_34
    drobek:~$ rename 's/[^a-z]+//' abc-2013_12_23_34
    drobek:~$ ls | grep abc
    abc
    Tento příkaz z názvu odstraní vše krom znaků a-z.
    18.4.2013 19:20 Ondřej Kopka | skóre: 20 | blog: ondrejk
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu
    Pak ještě zmv, to je součástí zsh. Super nástroj, má hodně možností ... ale zsh narozdíl od perlu není nainstalován všude.
    18.4.2013 19:24 potato
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu
    Pokud chceš, aby sem někdo dal kompletní skript, nedefinuj problém jedním příkladem. Lze udělat nekonečně věcí, které z abc-2013_12_23_34 umažou vše za abc a na jiných názvech se budou chovat různě.
    18.4.2013 21:14 NN
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu
    echo abc-2013_12_23_34 | sed 's/\(abc\).*/\1/'
    18.4.2013 22:24 Patrik Uhrak | skóre: 31 | blog: pato
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu

    sed to nie je, ale co na tom zalezi, ak to funguje a hlavne to tu uz mas v sed-e ukazane. :) A musim ale suhlasit s potato. Tu staci nastavit regexp, ak by nazov suborov nemal rovnaky format. Ale to zjavne staci nastavit rovnako pre kazdy v tejto diskusii uvedeny sposob. Skript moze mat zadanu cestu ako parameter alebo pouzije aktualny adresar, ak nie je zadany.

    #!/bin/bash
    shopt -s globstar
    
    # bud sa zada cesta ako parameter, alebo sa jednoducho vezme aktualny adresar a
    # posluzi ako koren adresarovej struktury pre hladananie
    root_dir="${1:-"$PWD"}"
    files=( "$root_dir"/** )
    # regexp pre tvar: abc-xxxx_xx_xx_xx , kde kazde x je cislo
    regexp='^(abc)-[1-9][0-9]{3}_[0-9]{2}_[0-9]{2}_[0-9]{2}'
    
    for file in "${files[@]}"
    do
            [[ -f "$file" ]] && [[ "${file##*/}" =~ $regexp ]] && mv "$file"  "${file%/*}"/"${BASH_REMATCH[1]}"
    done
    
    19.4.2013 10:31 blondyna
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu

    dik za tipy jinak, presne zadani je takove ze soubory budou mit vzdy stejny format nazev+datum, bude tam vice slozek, ktere se budou jmenovat stejne jako soubor. ja potrebuji aby nazvy slozek zustaly s datumem tzn. beze zmeny a u nazvu souboru se orizl/prejmenoval pouze nazev bez datumu viz obr

    https://plus.google.com/photos/111035832773969554520/albums/5868468476734161601?banner=pwa

    19.4.2013 10:50 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu

    Pokud ta část, kterou potřebujete odříznout, nebude obsahovat další pomlčku, tak např.

      for f in *; do test -f "$f" && mv -vi "$f" "${f%-*}"; done
    
    19.4.2013 13:20 blondyna
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu
    dik tohle funguje dobre akorat bych potreboval at to projde vcetne podslozek
    19.4.2013 14:02 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu

    Přepsání na find ... | while read f; do ... done si laskavý čtenář provede za cvičení. (Pro hnidopichy: ano, předpoklad, že soubory s linefeedem v názvu tam nejsou, nepovažuji za nijak přehnaný.)

    6.11.2013 15:31 blondyna
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu
    uspesne pouzivam tento skript lokane akorat to ted chci poustet vzdalene a je problem v syntaxy nevim jake pouzit znaky na oddeleni muze mi nekdo helfnout

    syntax error near unexpected token `abc'
    ssh server.neco.cz 'root_dir=/home/skript/
    
    files=( "$root_dir"/**/**/** )
    
    regexp=`^(abc)-[1-9][0-9]{3}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2}`
    
    for file in "${files[@]}"
    
    do
    
    [[ -f "$file" ]] && [[ "${file##*/}" =~ $regexp ]] && mv "$file"  "${file%/*}"/"${BASH_REMATCH[1]}"
    
    done' &
    
    6.11.2013 19:41 Andrej | skóre: 50 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu

    Titulek dotazu je poněkud zavádějící, protože sed se pro tento případ nehodí. Možná právě proto tu někteří vymýšlejí složité ptákoviny založené na sedu. :-D Tohle by mohlo fungovat.

    for file in $(find -type f -name '*-*'); do mv "${file}" "${file%-*}"; done
    

    Filtr -name '*-*' by tam být nemusel, pokud opravdu všechny soubory v celém adresářovém stromě obsahují pomlčku v názvu. Pokud ne, vyblilo by to bez -name pár chybových hlášek.

    BTW, na síťovém souborovém systému s dlouhou latencí a s dobrým throughputem se někdy hodí dát před done místo středníku ampersand &.

    7.11.2013 07:55 blondyna
    Rozbalit Rozbalit vše Re: pouziti sed k uprave nazvu
    jo supr tohle je funkcni dik

    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.