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 00:11 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 4.1 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 0
    včera 23:33 | Zajímavý článek

    Při běžné migraci virtuálního stroje mezi hypervizory se jeho MAC adresa přesune na jiný leaf switch. EVPN tuto změnu distribuuje pomocí BGP Type-2 route a MAC mobility sequence number. Problém nastává, pokud útočník podvrhne zdrojovou MAC adresu jiného zařízení. Leaf může změnu interpretovat jako legitimní přesun MAC a rozšířit ji přes BGP do celé fabric. Výsledkem může být přesměrování provozu určeného původnímu zařízení. Autor článku rozebírá možnosti detekce pomocí sledování MAC moves, BGP route reflektorů a kontroly na přístupové vrstvě.

    vencour | Komentářů: 0
    včera 15:11 | Nová verze

    Vývojáři desktopového prostředí Enlightenment (Wikipedie) a souvisejících knihoven Enlightenment Foundation Libraries (EFL) vydali nové verze. Enlightenment byl vydán ve verzi 0.28.0 a Enlightenment Foundation Libraries ve verzi 1.29.

    Ladislav Hagara | Komentářů: 3
    včera 13:55 | Zajímavý článek

    Cloudflare zjistil, že některé odpovědi modelu GLM-5.3 obsahovaly části dat z předchozích požadavků jiných zákazníků. Příčinou byla kombinace chybné konfigurace a chyby v inference enginu SGLang. Model podporoval kontextové okno 1 048 576 tokenů, ale GPU KV cache pool měl kapacitu pouze 681 280 tokenů. Při překročení kapacity docházelo k nesprávnému zpracování odmítnutého požadavku. Decode část systému následně pracovala se starými

    … více »
    vencour | Komentářů: 1
    včera 13:00 | Zajímavý článek

    Vývojáři Knot Resolver vysvětlují, jak změnili rozhodování o tom, které DNS záznamy ponechat v cache a které odstranit. Článek obsahuje skutečná měření: devět hodin DNS provozu při 2 000 QPS, srovnání cache o velikosti 25 MB a 40 GB a také porovnání s BIND 9, kromě algoritmů obsahuje konkrétní doporučení pro konfiguraci a diagnostiku.

    vencour | Komentářů: 0
    30.10. 13:44 | IT novinky

    Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.

    Ladislav Hagara | Komentářů: 16
    30.10. 02:16 | Bezpečnostní upozornění

    Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.

    Max | Komentářů: 20
    29.10. 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 12
    29.10. 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 1
    29.10. 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (29%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2954 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Přejmenování seriálů

    15.3.2011 22:05 xhombre | skóre: 10 | blog: xhombre
    Přejmenování seriálů
    Přečteno: 835×
    Občas si stáhnu nějaký seriál. Problém je v tom, že dost často nesedí názvy mezi epizodami nebo titulky. Ale většinou se v názvu souboru vyskytuje řetězec SXXEYY (XX číslo série, YY číslo epizody) tak jsem si napsal malý script v Ruby. Funuje, ale kdyby ho někdo shlédl a hodil do komentářů připomínky byl bych vděčný.

    #!/usr/bin/ruby1.9.1
    
    if ARGV[0] == nil
      puts "Jako argument zadejte adresar se serialem"
      puts "Nazev adresare bude pouzit pri prejmenovani souboru"
      exit
    else
      cesta = ARGV[0]
    end
    
    if !(test ?d, "#{cesta}") then                                       #kontrola zda je argument skutecne dostupny adesar
      puts "#{cesta} - neni dostupny adresar"
      exit 
    end
    
    list = `ls #{cesta}`     #ziskani seznamu souboru v adresari
    
    if cesta =~ /\/$/		#odstraneni / pokud je pritomno
      cesta_clon = cesta.chop	#pri pouziti cesta.chop! je string freeze
      cesta = cesta_clon		#zjistit proc
    end
     
    
    if cesta =~ /\/(\S+)$/		#ziskani jmena adresare
      adresar = ($1)
    end
    
    list.each_line {
      |line|
    
      if line =~ /((S|s)\d+(E|e)\d+)/   #zjisteni serie a epizody pokud nazev neobsahuj SXXEYY nic se nedela
        epizoda = $1
        epizoda.upcase!
     
        line =~ /([^.]+)$/                         #pripona souboru
        typ = $1
       
        puvodni = cesta+"/"+line      #cesta k puvodnimu souboru
        puvodni.chomp!
        
        finalni = cesta+"/"+adresar+"_"+epizoda+"."+typ   #cesta k novemu souboru
        finalni.chomp!  
    
        `mv "#{puvodni}" "#{finalni}"`   #konecne prejmenovani souboru
      end
    }
    

    Řešení dotazu:


    Odpovědi

    15.3.2011 23:12 xhombre | skóre: 10 | blog: xhombre
    Rozbalit Rozbalit vše Re: Přejmenování seriálů
    Takže hned jsem tam našel chybku v regexpu u získání jména adresáře. Takže opravená verze.
    
    #!/usr/bin/ruby1.9.1
    
    if ARGV[0] == nil
      puts "Jako argument zadejte adresar se serialem"
      puts "Nazev adresare bude pouzit pri prejmenovani souboru"
      exit
    else
      cesta = ARGV[0]
    end
    
    if !(test ?d, "#{cesta}") then                                       #kontrola zda je argument skutecne dostupny adesar
      puts "#{cesta} - neni dostupny adresar"
      exit 
    end
    
    list = `ls #{cesta}`     #ziskani seznamu souboru v adresari
    
    if cesta =~ /\/$/		#odstraneni / pokud je pritomno
      cesta_clon = cesta.chop	#pri pouziti cesta.chop! je string freeze
      cesta = cesta_clon		#zjistit proc
    end
     
    
    if cesta =~ /([^\/]+)$/		# OPRAVA ziskani jmena adresare
      adresar = ($1)
    end
    
    list.each_line {
      |line|
    
      if line =~ /((S|s)\d+(E|e)\d+)/   #zjisteni serie a epizody pokud nazev neobsahuj SXXEYY nic se nedela
        epizoda = $1
        epizoda.upcase!
     
        line =~ /([^.]+)$/                         #pripona souboru
        typ = $1
       
        puvodni = cesta+"/"+line      #cesta k puvodnimu souboru
        puvodni.chomp!
        
        finalni = cesta+"/"+adresar+"_"+epizoda+"."+typ   #cesta k novemu souboru
        finalni.chomp!  
    
        `mv "#{puvodni}" "#{finalni}"`   #konecne prejmenovani souboru
      end
    }
    
    wamba avatar 16.3.2011 07:22 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Přejmenování seriálů
    Asi by se to dalo "vylepšit" pomocí tříd File a Dir.
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    20.3.2011 14:16 xhombre | skóre: 10 | blog: xhombre
    Rozbalit Rozbalit vše Re: Přejmenování seriálů
    Přepsáním s použitím tříd File a Dir se celý script zpřehlednil, ubylo regexpů, a zkrátil. Takže dík.
    #!/usr/bin/ruby1.9.1
    
    if ARGV[0] == nil
      puts "Jako argument zadejte adresar se serialem"
      puts "Nazev adresare bude pouzit pri prejmenovani souboru"
      exit
    elsif !(File.directory?("#{ARGV[0]}")) then		#zjisteni zda je zadany
      puts "#{ARGV[0]} - neni dostupny adresar"		#argument skutecne adresar
      exit 
    end
    
    Dir.chdir("#{ARGV[0]}")					#zmena pracovniho adresare
    
    jmeno_adresare = File.basename("#{ARGV[0]}")		#jmeno pracovniho adresare, pouzije se jako cast jmena souboru
    
    Dir.foreach(".") {					#prochazeni seznamu souboru v danem adresari
      |soubor|
    
      if soubor =~ /((S|s)\d+(E|e)\d+)/ then		#zjisteni zda nazev souboru obsahuje SxxEyy
        epizoda = $1					#ziskani cisla serie a epizody
        epizoda.upcase!					#prevod na velka pismena
     
        typ = File.extname("#{soubor}")			#ziskani pripony (typu) souboru
       
        novy_soubor = jmeno_adresare+"_"+epizoda+typ	#vytvoreni noveho jmena souboru
            
        File.rename("#{soubor}", "#{novy_soubor}")		#prejmenovani souboru
        puts "#{soubor} >> #{novy_soubor}"
      end 
    }
    Řešení 1× (xhombre (tazatel))
    28.3.2011 22:09 xhombre | skóre: 10 | blog: xhombre
    Rozbalit Rozbalit vše Re: Přejmenování seriálů
    Takže asi poslední verze skriptu. Už to umí co potřebuji a chci. Je bezpečnější na používání. Pokud by jste to náhodou používali dejte mi vědět. Vše na vlastní nebezpečí :-)
    #!/usr/bin/env ruby1.9.1
    #coding=utf-8
    
    require "getoptlong"
    
    adresar = "."						#nastavení implicitních hodnot proměných
    zaklad_jmena = nil
    test = 0
    
    help = "-h, --help napoveda
    -d, --drawer jmeno adresare se serialem, bude pouzito jako soucast nazvu souboru
    -n, --name jmeno pro prejmenovani, nadrazeno jmenu adresare
    -r, --regexp regexp pro vyhledavani serie a epizody 
    -v, --regexp_version \n\t1 - pro format sAAeBB
    \t2 - pro format AAxBB
    -t, --test pro zapnuti testovacího modu, soubory se neprejmenovavaji"
    
    regexp = /[S|s](\d+)[E|e](\d+)/ 
    
    parser = GetoptLong.new					#parsovani prikazoveho radku
    parser.set_options(
      ["-h", "--help", GetoptLong::NO_ARGUMENT],
      ["-d", "--drawer", GetoptLong::OPTIONAL_ARGUMENT],
      ["-v", "--regexp_version", GetoptLong::OPTIONAL_ARGUMENT],
      ["-n", "--name", GetoptLong::OPTIONAL_ARGUMENT],
      ["-r", "--regexp", GetoptLong::OPTIONAL_ARGUMENT],
      ["-t", "--test", GetoptLong::OPTIONAL_ARGUMENT])
    
    parser.each_option {
      |opt, arg|
      case opt
        when "-h"						#kdyz je argument -h
          puts help						#vypsat help
          exit						#a skoncit
        when "-d"
          adresar = arg					#prirazeni argumentu adresare
        when "-r"
          regexp = Regexp.compile("#{arg}")			#prirazeni regexpu
        when "-v"
          case arg
            when "1"					#nastavení variant -v
              regexp = /[S|s](\d+)[E|e](\d+)/
            when "2"
              regexp = /(\d+)[x|X](\d+)/
          end
        when "-n"						#nastavení základu jména
          zaklad_jmena = arg 
        when "-t"
          test = 1      
      end
    }
    
    if !(File.directory?("#{adresar}")) then		#zjisteni zda je zadany argument skutecne adresar
      puts "#{adresar} - neni dostupny adresar"		#kdyz ne tak vypsat info
      exit							#a konec
    end
    
    Dir.chdir("#{adresar}")					#zmena pracovniho adresare
    puts "Pracovní adresář - "+Dir.pwd()			#vypsani adresare
    
    if zaklad_jmena == nil then				#když není zadán argument jména
      zaklad_jmena = File.basename(Dir.pwd())		#použije se název adresáře
    end
    
    puts "Základ jména - "+zaklad_jmena			#a vypíše se na výstup
    
    Dir.foreach(".") {					#prochazeni seznamu souboru v danem adresari
      |soubor|
    
      if soubor =~ regexp then				#zjisteni zda nazev souboru obsahuje pozadovany regexp
        serie = $1						#ziskani cisla serie a epizody
        epizoda = $2
    
        if serie.size < 2 then				#když je velikost řetězce menší jak 2
          serie = "0"+serie					#přidá se před něj 0
        end
    
        if epizoda.size < 2 then 
          epizoda = "0"+epizoda
        end
    
        typ = File.extname("#{soubor}")			#ziskani pripony (typu) souboru
       
        novy_soubor = zaklad_jmena+"_"+"s"+serie+"e"+epizoda+typ		#vytvoreni noveho jmena souboru
    
        if soubor == novy_soubor then			#když název původního souboru a nového je stejný 
          next						#přeskočíme na další soubor
        end
    
        i = 0
        loop do
          if File.exist?("#{novy_soubor}") then		#když nový název souboru koliduje s již existujícim souborem
            i = i + 1
            novy_soubor = zaklad_jmena+"_"+"s"+serie+"e"+epizoda+"("+i.to_s+")"+typ	#pozměníme ho přidáním (i)
          else						#jinak
            break						#pokračujeme dál
          end
        end
    
        puts "#{soubor} >> #{novy_soubor}"
        
        if test == 0 then					#když se netestuje
          File.rename("#{soubor}", "#{novy_soubor}")	#přejmenovat soubor
        else
          puts "Testovací provoz - nedochází k přejmenování"	#jinak jen vypsat hlášku
        end
      end 
    }
    

    Založit nové vlákno • Nahoru

    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.