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 19:33 | Zajímavý článek Marek Stopka | Komentářů: 2
včera 17:55 | Nová verze

Bylo oznámeno vydání nové verze 3.0.0 a krátce na to opravných verzí 3.0.1 a 3.0.2 nástroje mitmproxy určeného pro vytváření interaktivních MITM proxy pro HTTP a HTTPS komunikaci. Přehled novinek v příspěvku na blogu. Přispělo 56 vývojářů. Aktualizována byla také dokumentace [Hacker News].

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

Byla vydána nová major verze 3.0 svobodného multiplatformního geografického informačního systému QGIS (Wikipedie). Její kódové jméno je Girona, dle názvu města, ve kterém proběhlo 15. setkání vývojářů QGISu. Přehled novinek i s náhledy a animacemi v poznámkách k vydání.

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

Nadace Raspberry Pi vydala sedmašedesáté číslo (pdf) anglicky psaného časopisu MagPi věnovanému Raspberry Pi a projektům postaveným na tomto jednodeskovém počítači a čtvrté číslo (pdf) časopisu pro kutily HackSpace věnovanému navíc 3D tisku, pájení, řezání nebo i elektronice a IoT.

Ladislav Hagara | Komentářů: 0
23.2. 18:33 | Komunita

Morevna Project, který stojí za řadou svobodného softwaru pro animátory (např. Synfig Studio, RenderChan nebo Papagayo-NG) a svobodnými (CC-BY-SA) animovanými filmy/komiksy Morevna (3. díl) a Pepper&Carrot: The Potion Contest (6. díl), sbírá do 1. března příspěvky na 4. díl svého animovaného filmu Morevna. Mezi odměnami přispěvatelům lze najít např. i videokurzy animace v Synfigu či Blenderu.

xHire | Komentářů: 0
23.2. 12:22 | Bezpečnostní upozornění

Ve středu vydaná "npm@next" verze 5.7.0 správce balíčků pro JavaScript npm (Wikipedie, Node Package Manager) přinesla řadě uživatelů Linuxu nečekanou nepříjemnost. V závislosti na způsobu instalace a ve spojení s příkazem sudo mohlo dojít ke změně vlastníka u systémových souborů, také například /. Chyba je opravena v před několika hodinami vydané verzi npm 5.7.1 [reddit].

Ladislav Hagara | Komentářů: 13
23.2. 10:00 | Nová verze

Byla vydána verze 10.5 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu. Zdůraznit lze integrovanou podporu Let's Encrypt.

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

Příspěvek na blogu Signalu (Wikipedie) informuje o založení neziskové nadace Signal Foundation, jež bude zastřešovat další vývoj tohoto svobodného bezpečného komunikátoru běžícího také na Linuxu (Signal Desktop). Brian Acton, spoluzakladatel WhatsAppu, věnoval nadaci 50 milionů dolarů [Hacker News].

Ladislav Hagara | Komentářů: 1
22.2. 05:55 | Zajímavý článek

Článek na Fedora Magazine krátce představuje programovací jazyk Rust a několik zajímavých v Rustu naprogramovaných terminálových aplikací. Jedná se o alternativu k příkazu grep ripgrep, moderní barevnou alternativu k příkazu ls exa, příkazem cloc inspirovaný tokei a zvířátko v terminálu ternimal.

Ladislav Hagara | Komentářů: 0
21.2. 23:55 | Zajímavý projekt

Byl spuštěn Humble Classics Return Bundle. Za vlastní cenu lze koupit hry Broken Sword 5 - The Serpent's Curse, Shadowrun Returns a Shadowrun: Dragonfall - Director's Cut. Při nadprůměrné platbě (aktuálně 8,48 $) také Shadowrun: Hong Kong - Extended Edition, Wasteland 2: Director's Cut - Standard Edition, Age of Wonders III a Xenonauts. Při platbě 15 $ a více lze získat navíc Torment: Tides of Numenera a Dreamfall Chapters: The Final Cut Edition.

Ladislav Hagara | Komentářů: 0
Který webový vyhledávač používáte nejčastěji?
 (2%)
 (28%)
 (62%)
 (2%)
 (3%)
 (0%)
 (1%)
 (1%)
Celkem 451 hlasů
 Komentářů: 35, poslední 21.2. 19:51
    Rozcestník

    Dotaz: Hromadná oprava názvů souborů a adresářů

    22.7.2015 18:31 grandpapa
    Hromadná oprava názvů souborů a adresářů
    Přečteno: 335×
    Dobré odpoledne, chtěl bych se prosím uctivě zeptat, zda nevíte o nějakém scriptu v pythonu, který by uměl opravit názvy adresářů a souborů. Jedná se asi cca 4 mil. položek. Správné názvy jsou ve tvaru: 'číslo.text'

    Příklad
    1.Foo
    1025477.Bar
    
    Problém je v tom, že spousta souborů nemá správný tvar, buď to co je před tečkou není číslo, nebo před tečkou není nic, nebo v názvu není vůbec tečka atd. Navíc je potřeba zachovat tu číselnou řadu u správných názvů Čili pokud bude správný název 500.foo a 600.bar, musí mít po opravě foo menší číslo než bar. Soubory ani adresáře nemají vůči sobě žádnou přednost v pořadí, rozhodující jsou čísla. První položka musí začínat číslem 1.

    Neví prosím někdo o něčem ? Moc děkuji za pomoc.

    Odpovědi

    22.7.2015 18:41 NN
    Rozbalit Rozbalit vše Re: Hromadná oprava názvů souborů a adresářů
    Ja to zrekapituluji. Mam nahodne soubory, ktere je potreba ocislovat. Pokud soubor cislo obsahuje je potreba ho zachovat. Nekolik otazek:

    Jakou roli hraji adresare?

    Co udelat s priponou?

    Co udelat se souborem bez pripony?

    Program bude poreba pro trnto specificky pripad asi napsat(pokud se nedozvime o co se konkretne jedna..).
    22.7.2015 19:11 grandpapa
    Rozbalit Rozbalit vše Re: Hromadná oprava názvů souborů a adresářů
    Dobrý den,

    Pokud soubor cislo obsahuje je potreba ho zachovat.
    Pokud položka číslo obsahuje, není potřeba toto číslo zachovat jako takové, ale musí být v konečném přečíslování na dané pozici vůči ostatním položkám, které měli správný formát. Pokud třeba budou existovat dvě položky s číslem 100 a s číslem 101, může ve finále taková položka mít číslo 10 a druhá 11 ale ne obráceně. Pokud bude položek 1 000 a jenom tyto dvě budou mít platný název, bude mít první položka (100) číslo 1 a druhá položka (101) číslo 2. Ostatní položky se špatným formátem budou již číslovány od čísla 3 (bez seřazení).
    Jakou roli hraji adresare?
    Žádnou, struktura se prohledávat nebude, jedná se pouze o položky v jednom adresáři (tedy jestli se ptáte na tohle).
    Co udelat s priponou?
    Pokud existuje přípona, nebo název bude třeba 'nejaky.nazev.souboru.ci.slozky' přidat pouze na začátek číslo a tečku.
    Co udelat se souborem bez pripony?
    Přidat pouze na začátek číslo a tečku.
    Shrnutí, 
    - NErozlišovat zda se jedná o soubor nebo složku
    - název '.neco' // Přidá pouze číslo před tečku
    - název 'neco.neco' // Přidá pouze číslo a tečku
    - název 'neco' // Přidá pouze číslo a tečku
    - název '0000089.neco' // Smazat před tečkou a vložit platné číslo
    Pokud jsem napsal něco k nepochopení, hned doplním, Děkuji vám.
    22.7.2015 20:27 vrana
    Rozbalit Rozbalit vše Re: Hromadná oprava názvů souborů a adresářů
    Jestli jsem zadani spravne pochopil, tak tenhle skript udela, co chces. "Nevalidni" polozky v adresari prejmenuje na validni, tak ze je zaradi za posledni (ciselne razeni) platnou.

    Upozornuji, ze kod neni otestovany ani optimalizovany a doporucuji jej nastudovat nez ho vyzkousis pustit.

    #!/usr/bin/env python

    import glob import re import os

    skip = set([".",".."]) valid_regexp = re.compile(r'^([1-9][0-9]*)\..+') max_value = -1 to_rename = set()

    for f in glob.glob("*") + glob.glob(".*"): if f in skip: continue match = valid_regexp.match(f) if match: value = int(match.group(1)) if(value > max_value): max_value = value continue to_rename.add(f)

    reg = re.compile(r'^0[0-9]*(\..+)')

    for f in to_rename: max_value = max_value + 1 match = reg.match(f) if match: new_name = str(max_value) + match.group(1) elif f[0] == '.': new_name = str(max_value) + f else: new_name = str(max_value) + "." + f

    #print f +" => " + new_name os.rename(f,new_name)

    22.7.2015 20:29 vrana
    Rozbalit Rozbalit vše Re: Hromadná oprava názvů souborů a adresářů
    Jestli jsem zadani spravne pochopil, tak tenhle skript udela, co chces. "Nevalidni" polozky v adresari prejmenuje na validni, tak ze je zaradi za posledni (ciselne razeni) platnou.

    Upozornuji, ze kod neni otestovany ani optimalizovany a doporucuji jej nastudovat nez ho vyzkousis pustit.
    #!/usr/bin/env python
    
    import glob
    import re
    import os
    
    skip = set([".",".."])
    valid_regexp = re.compile(r'^([1-9][0-9]*)\..+')
    max_value = -1
    to_rename = set()
    
    
    for f in glob.glob("*") + glob.glob(".*"):
      if f in skip:
        continue
      match = valid_regexp.match(f)
      if match:
         value = int(match.group(1))
         if(value > max_value):
            max_value = value
         continue
      to_rename.add(f)
    
    reg = re.compile(r'^0[0-9]*(\..+)')
    
    for f in to_rename:
      max_value = max_value + 1
      match = reg.match(f)
      if match:
        new_name = str(max_value) + match.group(1)
      elif f[0] == '.':
        new_name = str(max_value) + f
      else:
        new_name = str(max_value) + "." + f
    
      #print f +" => " + new_name
      os.rename(f,new_name)
    
    
    22.7.2015 20:50 NN
    Rozbalit Rozbalit vše Re: Hromadná oprava názvů souborů a adresářů
    Pokud bude položek 1 000 a jenom tyto dvě budou mít platný název, bude mít první položka (100) číslo 1 a druhá položka (101) číslo 2. Ostatní položky se špatným formátem budou již číslovány od čísla 3 (bez seřazení).
    Pokud je toto pravda tak v prvni rade vyhledam vsechy platne soubory a seradim je(napriklad regexpem nad celym seznamem) a precisluji od 1. Zbyle soubory nahodne ocisluji(pseudokodem):
    i=1
    #najdu spravne a precisluji
    for FILE in `find /dir -type f -regex '[0-9]+\..+' | sort`; do
    mv FILE $i.${$FILE##*.}
    i++
    done
    #najdu spatne a precisluji
    for FILE in `find /dir -type f -regex '^([0-9]+\..+)'`; do
    mv FILE $i.${$FILE##*.}
    i++
    done
    
    V tom druhem kole budou chybet nejake filtry(vice tecek,spatne cislo..) ale to si dopises.. ;) ..
    0000089.neco
    Je neplatne? Proc?
    23.7.2015 13:37 lertimir | skóre: 61 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Hromadná oprava názvů souborů a adresářů
    Jak vidím v otázce "script v pythonu", tak mě okamžitě napadne "mám domácí úkol, vyřešte mi to". Protože normálně to je otázka jen: Chci tohle vyřešit! ne s podmínkou jakými prostředky. I podmínka nerozlišovat mezi složkami a adresáři je s praktického pohledu nesmysl, ale může být zajímavá na trening myšlení v zadané úloze. Mít adresáře očíslované 1,4,5,7 a vedle toho soubory s čísly 2,3,6,8,9 je v podstatě na hlavu. Navíc pokud do názvů se napíšou jen čísla, tak je třeba brát do uvahy, že výpis adresáře je podle stringu. Je takovéto pořádí to skutečně chcete? viz.
    0.txt
    1.txt
    10.txt
    100.txt
    101.txt
    102.txt
    103.txt
    104.txt
    105.txt
    106.txt
    107.txt
    108.txt
    109.txt
    11.txt
    110.txt
    111.txt
    112.txt
    113.txt
    114.txt
    115.txt
    116.txt
    117.txt
    118.txt
    119.txt
    12.txt
    120.txt
    121.txt
    122.txt
    123.txt
    124.txt
    125.txt
    126.txt
    127.txt
    128.txt
    129.txt
    13.txt
    

    Když bych to řešil pro sebe, bez podmínek, tak Krename tohle udělá za pár minut. Regulárním výrazem omezím čeho se bude přejmenování týkat a pak výsledek přejmenuji. Nejdříve pro objekty s číslem, pak pro ostatní a ty možná na několikrát podle toho jaké operace před tečkou jsou správné. A nezapoměl bych na úvodní nuly v těch názvech. To číslo 0000089.neco je pro mně zcela legální.

    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.