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 19:00 | IT novinky

    Počítačová hra Knytt napsaná v Multimedia Fusion 2 byla vydána před 20 lety. Při této příležitosti byl dnes představen moderní port (YouTube) této plošinovky na současné operační systémy pod názvem Knytt Classic. Je zdarma k dispozici na Steamu a GOG.com.

    Ladislav Hagara | Komentářů: 0
    dnes 16:00 | IT novinky

    Americká technologická společnost Meta Platforms představila nový model umělé inteligence (AI) Muse Glimmer. Model je menší než přední modely AI od konkurence a má běžet přímo na počítačích uživatelů. Meta model zpřístupní jako open source, tedy otevřený software. Nový model je navržen tak, aby zvládal takzvané agentní úkoly na počítačích se spotřebitelskou grafickou kartou. Klade si tak za cíl uspokojit poptávku po systémech AI, které běží přímo na zařízeních uživatelů.

    Ladislav Hagara | Komentářů: 5
    dnes 12:11 | Pozvánky

    V pátek 28. srpna 2026 se v pražském Karlíně uskuteční již osmý Mobilní Hackday. Akce začne v 10:00 a potrvá až do večera. Setkání proběhne v prostorách SUSE Linux, s.r.o. na adrese Křižíkova 148/34, Praha 8 – Karlín. Nejbližší zastávkou je Křižíkova, kam se lze dostat tramvají i metrem. Na programu budou například novinky z posledních měsíců, možnosti, jak si zjednodušit práci s LLM/AI, a také nová linuxová distribuce BengalOS, včetně … více »

    David Heidelberg | Komentářů: 0
    včera 17:22 | Nová verze

    Jakub Vrána vydal Adminer ve verzi 6.0.0 s více než 130 změnami: "Většina změn vznikla s asistencí Claude Opus 5. Někteří lidi se bojí, že AI asistence může kód zamořit technickým dluhem. To je jistě pravda, pokud vývojář všechny změny bezduše odbouchne Enterem. Ale pokud si pořádně projde plán, vyjedná v něm změny a pak totéž udělá i s vygenerovaným kódem, kvalita kódu stoupne a technický dluh naopak klesne. Je to jako párové programování s

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 12:44 | Nová verze

    Sam Aaron vydal novou major verzi 5.0.0 aplikace Sonic Pi (Wikipedie) určené také pro výuku programování pomocí skládání hudby. Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    8.8. 04:44 | IT novinky

    U příležitosti 30. výročí vydání počítačové hry Quake byla vydána nová epizoda s názvem Dawn of the Machine (Steam).

    Ladislav Hagara | Komentářů: 8
    7.8. 16:00 | Bezpečnostní upozornění

    Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.

    Ladislav Hagara | Komentářů: 6
    7.8. 15:33 | IT novinky

    Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její

    … více »
    Ladislav Hagara | Komentářů: 20
    7.8. 12:44 | Humor

    Mark Russinovich (CTO v Microsoft Azure) se na LinkedIn pochlubil svým projektem MS Paint Doom napsaným pomocí Claude. Hru Doom umožňuje hrát v programu Malování (Microsoft Paint). Malování funguje jako monitor. Herní engine (ViZDoom) běží na pozadí a každý vykreslený snímek hry vkládá automaticky přes schránku (clipboard) do Malování.

    Ladislav Hagara | Komentářů: 4
    6.8. 08:00 | IT novinky

    Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí

    … více »
    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2364 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Štítky: není přiřazen žádný štítek



    Vložit další komentář
    2.12.2021 01:21 Miriam | blog: RychlovarnaKonvice
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Perl je hlavně mrtvý jazyk. Zdar Max
    2.12.2021 01:32 sad
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Ruby už má zřejmě to nejlepší také za sebou...
    2.12.2021 09:12 ja osobne
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Teraz letí jedine JavaScript a RUST !!!
    2.12.2021 02:10 tttt
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    require 'pathname'
    
    @dir = ARGV[0] || __dir__
    
    Pathname.new(@dir).children.select(&:file?)
      .group_by { |path| File.size(path) }
      .tap { |h| h.delete(1) }
      .each do |k, v|
      puts "Found #{v.length} files with size #{k} bytes:"
      puts v
      puts
    end
    2.12.2021 02:22 tttt
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    7. řádek zahazuje malé soubory, koukám, že to má zahazovat unikátní. Mělo to tedy být:
    .select { |_, v| v.length > 1 }
    2.12.2021 02:34 sad
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Hezký a elegantní způsob. Dík.
    2.12.2021 08:38 luky
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    my %sizes; $, = "\n";
    unshift @{$sizes{-s $_}}, $_ foreach grep -f $_, glob "* .*";
    foreach (keys %sizes) {
            next unless $#{$sizes{$_}};
            print 'Found ' . ($#{$sizes{$_}} + 1) . " files with size $_ bytes:\n";
            print @{$sizes{$_}}, "\n";
    }
    
    2.12.2021 08:41 luky
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Vypis by sel na jeden radek pres grep taky, ale uz je to pak necitelne.
    2.12.2021 12:31 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    <?php
    
    // nacita zoznam suborov
    $list=scandir(".");
    
    // zisti velkosti
    $statistic=array();
    foreach($list as $name)
    	if(is_file($name))
    	{
    		$size=filesize($name);
    		if(isset($statistic[$size]))
    			array_push($statistic[$size], "$name");
    		else
    			$statistic[$size]=array("$name");
    	}
    
    // vypise
    foreach($statistic as $size => $items)
    {
    	$count=count($items);
    	if($count < 2)
    		continue;
    	echo "Size: ${size} B, count: $count\n";
    	echo implode("\n", $items)."\n";
    }
    
    
    debian.plus@protonmail.com
    2.12.2021 17:22 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    K cemu je seskupeni souboru podle velikosti? Jiste, pravdepodobnost duplicity nejaka je, ale nebylo by lepsi vypocitat alespon md5ku a s tou operovat?
    2.12.2021 14:22 Tomáš
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    A nechtěl by ses kromě velikosti podívat i na obsah souboru? To, že jsou soubory stejně dlouhé, většinou neznamená, že musejí být stejné.

    Většinou se počítá nějaký hash nebo checksum a pak se porovnávají mezi sebou.
    2.12.2021 15:01 sad
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    require 'digest/md5'
    
    digest = Digest::MD5.hexdigest(File.read(f))
    
    Heron avatar 3.12.2021 19:55 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Viz poznámka níže. Nepoužívejte md5. Jsou k disposici různé soubory se stejnou md5 hash. Úprava pro SHA512 je triviální.
    MakeIranBombedAgain❗ avatar 2.12.2021 22:47 MakeIranBombedAgain❗ | skóre: 42 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)

    supr skripty :D ;D

    teda já jako perlu a ruby vubec nerozumim ale vidim žeto neni koronarýma tak jakoby lajkuju :D :D ;D ;D

    3.12.2021 00:05 kvr
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    perl -e 'use File::Slurp; $x{$_}++ foreach (map({ -s $_ } read_dir("."))); while (my ($s, $c) = each(%x)) { print("size=$s count=$c\n") if ($c > 1); }'
    3.12.2021 00:32 kvr
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    A "nepopulární" Java:

    Arrays.stream(new File(".").listFiles()) .map(file -> file.length()) .collect(Collectors.groupingBy(Function.identity(), Collectors.counting())) .forEach((s, c) -> if (c > 1) System.out.printf("size=%s count=%c\n", s, c));

    Kratší než oba původní příklady (i když ty by šly taky zkrátit, viz výše) a přesto IMHO čitelnější. Ta čitelnost se pak objeví v případě větší komplexity, teď je to přece jen dost primitivní podle jednoho klíče.
    3.12.2021 09:29 srbt | skóre: 6
    Rozbalit Rozbalit vše Python
    Zdá se mi, že to sem ještě nikdo nenapsal v tom zmiňovaném pythonu, tak jsem si dovolil...
    #!/usr/bin/env python3
    
    from pathlib import Path
    from itertools import groupby
    
    files = sorted((file.stat().st_size, file) for file in Path('.').iterdir() if file.is_file())
    
    groups = (same_files for size, group in groupby(files, lambda x: x[0]) if len(same_files := list(group)) > 1)
    
    for group in groups:
        print('Found {count} files with size {size} bytes:\n{files}\n'.format(
            count=len(group),
            size=group[0][0],
            files='\n'.join(file[1].name for file in group)
        ))
    
    Omlouvám se za použití operátoru :=.
    3.12.2021 10:02 srbt | skóre: 6
    Rozbalit Rozbalit vše Bash
    No a ještě v bashi a gnu tools:
    #!/usr/bin/env bash
    
    files="$(find . -type f -printf '%s %f\n' | sort -n)"
    sizes="$(cut -f 1 -d ' ' <<< "$files" | uniq --repeated)"
    
    for size in $sizes; do
      count="$(grep -c "^$size " <<< "$files")"
      names="$(grep "^$size " <<< "$files" | cut -f 2 -d ' ')"
      printf 'Found %s files with size %s bytes:\n%s\n\n' "$count" "$size" "$names"
    done
    
    Gilhad avatar 3.12.2021 11:09 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Pro hledani duplicitnich souboru (teda nejen stejne dlouhych) pouzivam neco jako

    find -type f -exec md5sum {} \; | sort |uniq --all-repeated=separate -w32

    (teda normalne ty md5sum mam nekde ulozene a pracuju s nima opakovane, takze to jsou bezne prikazy 2, jeden vytvori seznam hashu souboru, druhy hleda duplicity)
    Heron avatar 3.12.2021 19:50 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Nepoužívej md5. Je prolomená, je slabá, jsou k disposici různé souboru se stejným md5 hashem. Uprav si ten skript pro sha512sum. Jsou to dvě změny.
    4.12.2021 12:33 Want
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    A proč zdlouhavě počítat kontrolní součet? Není jednodušší o souborů o shodné délce nejprve binárně porovnat začátek a konec, a teprve po této shodě ověřit kontrolní součet, případně použít metodu, která by vykázala procentuální shodu obsahu?
    Heron avatar 4.12.2021 14:35 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Optimalizacím se věnuje komentář od Ploštěnky. Mým cílem bylo upozornit na již dávno překonanou funkci md5.

    Navíc Gilhad píše, že si ty hashe ještě někam ukládá, takže jeho cílem nejspíše není jen hledat stejné soubory (to by nám musel sdělit on). Proto rychlá úprava jeho skriptu na sha512sum je více než dostatečná.

    Já si například pravidelně ukládám shasumy všech souborů na datovém úložišti nikoliv pro hledání duplicit, ale proto, abych věděl, jestli se ty soubory mění nebo ne. V minulosti se mi stávalo, že video, které šlo bez problémů přehrát najednou nešlo. Nevím, jestli se ten soubor poškodil na disku a nebo jsem jen začal používat jiný přehrávač, který nebyl tolerantní k chybám. Právě proto jsem začal dělat checksumy, abych tohle případně zjistil. Pravděpodobnější ovšem je, že ten soubor byl poškozen od počátku - tako jsem měl mp3, které winamp dokázal přehrát bez problémů, ale jiné přehrávače - po mém přechodu na linux - hlásily poškozený soubor. I dneska se stane, že je nějaký soubor vadný a proto důležitá videa nechám protáhnout přes ffmpeg, který to jednak detekuje a taky někdy umí opravit (pokud je to jen chyba v multiplexoru).

    Navíc mám díky tomu i historii souborů na disku a jsem schopen dohledat existenci souboru, který jsem já blbec smazal, a teď bych jej potřeboval - sice mi to data nevrátí, ale alespoň vím, kdy k tomu došlo a to mi může pomoci při pátrání.
    6.12.2021 07:56 Tomáš | skóre: 31 | blog: Tomik
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    A není na tohle lepší nějaký verzovací systém? Ten ty checksumy dělá implicitně.
    9.12.2021 19:17 marbu | skóre: 31 | blog: hromada
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Na nějak omezenou množinu dat možná, ale tady Heron mluví "všech souborech na datovém úložišti", a v takovém případě bych řekl že spíš ne. Nechtěl bych verzovat něco jako celý /home ...
    There is no point in being so cool in a cold world.
    9.12.2021 19:27 marbu | skóre: 31 | blog: hromada
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Já si například pravidelně ukládám shasumy všech souborů na datovém úložišti nikoliv pro hledání duplicit, ale proto, abych věděl, jestli se ty soubory mění nebo ne.
    Tohle dělám taky, akorát pouze při zálohování celého /home oddílu. Udělám snapshot kvůli konzistenci, v něm nechám spočítat checksum všeho a pak spustím zálohu. Ten checksum soubor mám pak jak lokálně tak u té zálohy, takže v případě poškozeného binárního souboru co se normálně moc nemění jsem schopen rychle dohledat v které záloze mám předchozí verzi. Ale dělám to primárně kvůli kontrole konzistence zálohy a obnovených dat.
    There is no point in being so cool in a cold world.
    Gilhad avatar 17.12.2021 14:41 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Cílem je 1) hledání duplicitních souborů 2) ověřování zda se soubor nezměnil

    Úprava na jiný součet je poněkud nepraktická, protože to je součástí systému, který jsem napsal kdysí, asi tak mezi 2000 a 2002, pro mou tehdejší 486 za účelem ukládání na CDčka a zase vytahování z nich, a v té době jsem tam narval podstatnou část souborů.

    Problém je, že některá CD se časem stávala méně a méně čitelná, cena CD/DVD klesala a soubory jsem nejen přejmenovával (z různých kódování češtin, ale i z různých stylů popisu), ale i přesouval mezi adresáři a do toho se mi motaly starší verze (nepřejmenované) ale také verze novější, které přišly odjinud a jmenovaly se klidně jako verze starší, nebo naprosto jinak, protože si to někdo upravil podle svých konvencí.

    A samozřejmě klasika zálohy záloh záloh ... a stále používané verze na disku spadající jak do tématických záloh podle smyslu, tak do záloh náhodných, např. celého počítače.

    Takže v tom časem vzniknul pěkný bordel a bylo ho potřeba nějak rozmotat, nebo to na rozmotání aspoň připravit.

    Takže náhoda, že by dva soubory byly různé, ale došlo ke kolizi MD5, ale jejich název a umístění dávalo podobný smysl bylo celkem malé. Navíc jsem měl (ale jinde) i uložené délky a nějaké poznámky o formátu, pokud se rozpoznal (hudba, fotky, filmy, ...) a nečekal jsem, že by na tohle někdo cíleně zaútočil, protože to nedávalo smysl. Na druhou stranu jsem měl po různých adresářích mraky souborů typu SAVEGAME.001 a README.TXT, které byly povětšinou různé a záleželo na jejich umístění v adresářové struktuře, ke které gamese to asi tak patří ...

    Takže se mi to nechce předělávat, dokud to kompletně nezkonzoliduju na diskovém poli, duplicity (a balast) nevyházím a naopak nezjistím, co za léta došlo úhony, či ztráty. Což je projekt na léta, protože to má nízkou prioritu a jde o tisíce CD a stovky DVD ... Až budu jednou s výsledkem (relativné) spokojen, tak to předělám na optimalizaci pro disková pole a přegeneruju celý systém.

    Ale teď se mi hodí držet kompatibilitu se starou verzí a nové věci mít zároveň v GITu (ostatně teď předělávám i poněkud živelně vzniklou strukturu repozitářů na něco systematičtějšího a vhodnějšího pro současný styl práce)
    MakeIranBombedAgain❗ avatar 5.12.2021 18:45 MakeIranBombedAgain❗ | skóre: 42 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)

    když jakoby dělá jenom hledání duplicitních souborů někde  u sebe na disku tak vodolnost toho hashe neni zese jako moc důležitá ne?? :O :O

    joa neni md5 taky trošičku rychlejší/lacinější než sha512????? :O ;D

    Heron avatar 5.12.2021 21:02 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    No když si někdo píše program, tak je celkem vhodné je napsat tak, aby byl správný z hlediska aktuálního poznání. To, že existují soubory s různým obsahem a stejnou md5 hash se ví, já mám takové soubory na disku a takto napsaný program by to vyhodnotil špatně. Proto je vhodné použít takovou hash fci, u které kolize ještě známé nejsou. hash funkce je modulární a měla by jít snadno vyměnit. Pro kontinuitu dat, pokud je potřeba, je vhodné použít několik funkcí současně a ukládat všechny hashe.
    joa neni md5 taky trošičku rychlejší/lacinější než sha512
    Netuším a je to jedno, stejně se čeká na storage, spočítat to je rychlejší, než číst z disku. Pokud má dotyčný data v 1TB ramdisku, tak to nemusí platit, ale v tom případě zřejmě bude mít něco jako EPIC a tak si to snadno může paralelizovat.

    Jinak pokud někomu vadí zrovna sha512, tak existují jiné, neprolomené a velmi rychlé funkce (třeba rodina sha3 - kde byla rychlost z jedním z požadavků soutěže).
    MakeIranBombedAgain❗ avatar 7.12.2021 21:18 MakeIranBombedAgain❗ | skóre: 42 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    3.12.2021 19:26 sad
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Ale nikde nevidím Rust. Zřejmě by v Rustu takový prográmek ani napsat nešel...
    3.12.2021 21:04 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Výpis stejných souborů (Perl vs Ruby)
    Jako petiminutovka dobre, ale kde je nejaka optimalizace?

    Pokud maji soubory unikatni velikost, nejsou stejne (netreba draze pocitat hash)
    Pokud maji soubory unikatni prvni 1kB, nejsou stejne (netreba draze pocitat hash) ...

    Ve vysledku pouzivam rdfind: find . -type f -size +100M -print0 | xargs -0 rdfind -ignoreempty true -checksum sha1 -makehardlinks true -outputname ./rdfind100M_results.txt -dryrun false > ./rdfind100_stdout.txt 2>&1

    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.