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í
×

9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 0
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 2
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
7.12. 11:11 | Komunita

Naprostá většina příjmů Mozilly pochází od výchozích webových vyhledávačů ve Firefoxu. Do konce listopadu 2014 měla Mozilla globální smlouvu se společností Google. Následně bylo místo jedné globální smlouvy uzavřeno několik smluv s konkrétními vyhledávači pro jednotlivé země. V USA byla podepsána pětiletá smlouva s vyhledávačem Yahoo. Dle příspěvku na blogu Mozilly podala společnost Yahoo na Mozillu žalobu ohledně porušení této

… více »
Ladislav Hagara | Komentářů: 0
7.12. 05:55 | Zajímavý článek

V Londýně probíhá konference věnovaná počítačové bezpečnosti Black Hat Europe 2017. Průběžně jsou zveřejňovány prezentace. Videozáznamy budou na YouTube zveřejněny o několik měsíců. Zveřejněna byla například prezentace (pdf) k přednášce "Jak se nabourat do vypnutého počítače, a nebo jak v Intel Management Engine spustit vlastní nepodepsaný kód". Dle oznámení na Twitteru, aktualizace vydaná společností Intel nevylučuje možnost útoku.

Ladislav Hagara | Komentářů: 5
7.12. 04:44 | Komunita

Virtualizační nástroj GNOME Boxy ve Fedoře 27 umožňuje jednoduše stáhnout a nainstalovat Red Hat Enterprise Linux, který je pro vývojáře zdarma. Vývojová verze GNOME Boxy již umožňuje jednoduše stáhnout a nainstalovat další linuxové distribuce. Ukázka na YouTube. Seznam distribucí a jejich verze, nastavení a cesty k ISO obrazům je udržován v knihovně a databázi libosinfo (GitLab).

Ladislav Hagara | Komentářů: 0
7.12. 03:33 | Nová verze

Google Chrome 63 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 63.0.3239.84 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře. Opraveno bylo 37 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 9
6.12. 22:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 147. brněnský sraz, který proběhne v pátek 15. prosince od 18:00 hodin v restauraci Severka na rohu Tučkové a Zahradníkové.

Ladislav Hagara | Komentářů: 0
6.12. 22:33 | Komunita

V roce 2013 byl představen projekt Debsources, jehož cílem bylo a je poskytnout webové rozhraní ke zdrojovým kódům balíčků obsažených v Debianu. Projekt doteď běžel na doméně debian.net. Dnes bylo oznámeno, že projekt byl přesunut na oficiální infrastrukturu Debianu. Služba Debian Sources nově běží na doméně debian.org. V plánů je řada vylepšení. Již dnes je ke službě k dispozici API a procházet lze také patche a licence.

Ladislav Hagara | Komentářů: 0
6.12. 05:55 | IT novinky

Hodnota Bitcoinu, decentralizované kryptoměny, překonala hranici 12 000 dolarů. Před týdnem byla překonána hranice 10 000 dolarů [reddit].

Ladislav Hagara | Komentářů: 151
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 943 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Dotaz: Find v cyklu a vypis duplikace

    1.6.2009 22:30 Rodeo65
    Find v cyklu a vypis duplikace
    Přečteno: 483×

    Zdravim, mam takovy dotaz. Snazim se vyhledat z jedne slozky soubory a zkopirovat je do jine. A nasledne vypsat rozdil souboru techto slozek za nejaky cas. Chtel jsem pouzit prikaz diff, ale nevim jak presne vyuzit funkci find aby mi zobrazila jen soubory a ne cestu, jelikoz jedna slozka ve ktere to hledam ma x tisic slozek. Dekuji

     

    Odpovědi

    2.6.2009 06:36 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Řekl bych, že jak je dotaz napsán, tak ho nikdo nechápe :) Co nějaký příklad?
    In Ada the typical infinite loop would normally be terminated by detonation.
    2.6.2009 07:41 rastos | skóre: 60 | blog: rastos
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    jak presne vyuzit funkci find aby mi zobrazila jen soubory a ne cestu
    man find:
    ...
    -printf format
    ...
    %f File's name with any leading directories removed (only the last element).
    2.6.2009 11:05 Rodeo65
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace

    Mam za ukol vyhledat v slozce stable soubory obsahujici GPG klice a zkopiruju je do adresare dnesniho data. To udelam prikazem cp -ib `find stable -type f -name "*.gpg"` `date '+%Y-%m-%d-%H-%M'` a ted je problem, ze musim nejspis udelat cyklus protoze jsou zde ve slozce stable soubory ktere maji stejny nazev a ja je nechci prepsat. A chci vypsat ktere ty dva stejne soubory to jsou a kde jsou ulozeny. Tento prikaz to vypise find stable -name "*.gpg" -exec ls -l {} \; ale porad nevim jak presne udelat ten cyklus v kterym by to jelo a podminku abych vypsal jen ty duplikovany.

    V tom cyklu jeste kazdy *.gpg soubor importuju do gpg klicenky. To by bylo vse v tom cyklu ktery nevim jak udelat.

    Premyslel jsem forem, protoze si spocitam kolik GPG souboru jsem zkopiroval,ale nejsem si jist jak...

     

    A potom porovnat obsah souboru *.gpg ve vytvorene slozce napr. 2009-06-03-20-30 a obsah souboru v nove vytvorene slozce dnesniho data. To bych asi udelal diffem. A rozdil vypsat. 

     

     

    2.6.2009 17:22 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Aha, tak to si stačí přečíst manuál k cp.
    --reply[=HOW]
         Using `--reply=yes' makes `cp' act as if `yes' were given as a
         response to every prompt about a destination file.  That
         effectively cancels any preceding `--interactive' or `-i' option.
         Specify `--reply=no' to make `cp' act as if `no' were given as a
         response to every prompt about a destination file.  Specify
         `--reply=query' to make `cp' prompt the user about each existing
         destination file.
    
    tj. "--reply=no" nebude nic přepisovat, případně
    -u, --update
         copy  only  when  the  SOURCE file is newer than the destination
         file or when the destination file is missing
    
    In Ada the typical infinite loop would normally be terminated by detonation.
    2.6.2009 17:57 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Pokud chcete nějak rozumně zobrazit ty duplicity názvů, tak mne tak narychlo napadlo:
    find stable -name "*.gpg" > files
    find stable -name "*.gpg" | while read f; do
      filename=$(basename "$f")
      if grep -E ".*/$filename\$" files | grep -v "$f"; then
        echo "\\$f"
      fi
    done
    2.6.2009 20:29 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    grep -vE "^$f\$"
    2.6.2009 23:06 Rodeo65
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Diky za pomoc to co jsi napsal mi fakt pomohlo. Uz jsem to mel taky v soboru, ale ten cyklus mi delal problem. Teprv se v shellu ucim.

    Kdyz bych chtel taky cyklem projizdet slozky a hledat urcite soubory tak to udelam taky pres while, nebo je nejaka vychytavka? :-)
    3.6.2009 08:28 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Záleži na tom co o tom souboru potřebujete zjistit. Na hodně věcí stačí jen find (typ souburu, práva, mtime...), na něco složitější (typ kodeku videosouboru) je to už lepší předávat whilecyklu a tam to pořešit utilitami pro danou úlohu vhodnými.
    3.6.2009 06:58 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Z toho mi bliká červená kontrolka N2
    In Ada the typical infinite loop would normally be terminated by detonation.
    3.6.2009 08:25 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Tak když se zamyslíte kolik je to N, tak kontrolka zase rychle zhasne.
    3.6.2009 12:33 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Myslíte tohle?
    jedna slozka ve ktere to hledam ma x tisic slozek
    Z toho mi nic nezhasíná.
    In Ada the typical infinite loop would normally be terminated by detonation.
    3.6.2009 13:39 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Aha, no tak jestli tím bylo myšleno že těch *.gpg souborů je několik tisíc (?), tak pak se vyplatí řešení od deadmail uvedené níže. Já o něm původně uvažoval, ale dostal jsem se jen k uložení do souboru a setřídění podle basename, pak už se mi to nechtělo parsovat protože awk moc neumím :) Asi bych to byl napsal v bashi:
    find original -name "*.gpg" -printf "%f\t%p\n" | sort -k1,1 -t"      " | while IFS="      " read filename fullname; do
    [[ "$filename" == "$oldfilename" ]] && echo -e "$fullname\n>$oldfullname";
      oldfilename="$filename";
      oldfullname="$fullname";
    done
    3.6.2009 14:42 deadmail
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    To riesenie s awk-om vypise subory s opakujucimi sa menami, kazdy prave raz.

    Uvedene riesenie v bash-i je zjednodusena verzia, vzdy vypise subor a k nemu nazov suboru ku ktoremu sa porovnava - teda ak su tri subory, tak celkovo vypise styri nazvy (v tvare druhy >prvy treti >prvy).
    3.6.2009 15:58 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Sem doufal že to po mně někdo opraví :D ale asi bych měl sám no.
    oldfullname="";
    find original -name "*.gpg" -printf "%f\t%p\n" | sort -k1,1 -t"    " | while IFS="    " read filename fullname; do
      if [[ "$filename" == "$oldfilename" ]]; then
        echo -e "$oldfullname$fullname";
        oldfullname="";
      else
        oldfullname="$fullname\n";
      fi;
      oldfilename="$filename";
    done
    3.6.2009 16:17 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Jo to už vypadá použitelně, jen místo toho tabu v uvozovkách bych použil něco jako `echo -ne '\t'`
    In Ada the typical infinite loop would normally be terminated by detonation.
    3.6.2009 17:47 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Já bych zase použil $'\t', kdybych to tedy chtěl komplikovat.
    3.6.2009 21:06 deadmail
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    este na zaciatok doplnit oldfilename="", aby tam nahodou niekto nedal nazov prveho suboru ;-)

    a to IFS=" " by mohlo byt pred while, aby sa nemuselo nastavovat pre kazdy riadok, nie?
    3.6.2009 21:50 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    1) ano oldfilename mi vypadlo ale neřešil jsem to protože pravděpodobnost je nízká :D

    2) záleží na situaci, pokud to spouštíte v aktuálním shellu který ještě míníte používat, musel by se zazálohovat a pak obnovit, pokud to pouštíte ve skriptu, lze s určitým rizikem pozdější chyby zálohu neudělat. A nebo pokud byste to třeba chtěl mezi pajpu a while což je častá chyba tak tam to syntakticky nejde. Určitě si každý najde své optimální řešení.
    3.6.2009 21:54 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Také by šly vynechat nadbytečné středníky, těch je tam taky hodně.
    3.6.2009 23:18 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Jinak mne napadlo že jako oddělovač by šlo v uvedeném případě místo tabu použít lomítko, čímž bychom se zbavili problému (pravda spíš hypotetickému) s tabem v názvu souboru.
    3.6.2009 23:42 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Tohle bude fungovat i pro soubory se znaky \t či \n v názvu :)
    oldfilename=""
    oldfullname=""
    find original -name "*.gpg" -printf "%f/%p\0" | sort -k1,1 -t/ -z | xargs -n 1 --null echo | while IFS=/ read filename fullname; do
      if [[ "$filename" == "$oldfilename" ]]; then
        echo -e "$oldfullname$fullname";
        oldfullname=""
      else
        oldfullname="$fullname\n"
      fi
      oldfilename="$filename"
    done
    3.6.2009 23:45 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    jo nebude, problém je pořád s tím readem :( Dneska nemám den :)
    4.6.2009 07:29 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Pokud chcete řešit takovéto zrůdnosti, tak to přepište do Perlu nebo podobně.
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.6.2009 07:38 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Ale principiálně by mne zajímalo jestli se dají způsobem find | read nějak řešit soubory s \n v názvu. Připadá mi, že ne, ale zase přepisovat každý podobný problém do perlu jen aby byl obecně se mi také nelíbí :(
    4.6.2009 07:41 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Nejschůdnější mne napadlo dát vnitřek cyklu o funkce a jméno souboru jí předávat přes xargs -0, to by nevyžadovalo žádné velké změny v kódu.
    4.6.2009 21:54 deadmail
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    ale da sa, read ma prepinac na zmenu delimitera. Akurat treba dat pozor, ze znak null znamena aj koniec riadku v bash-i, tak sa musi tam zapisat $
    find ... -print0 | while read -d $'\0' file; do echo "---$file---"; done
    
    4.6.2009 22:02 deadmail
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    a este asi prepinac -r, kvoli spatnemu lomitku v nazvoch ... snad uz ten read zoberie vsetko mozne ;-)
    4.6.2009 22:43 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    No výborně, díky!!
    oldfilename=""
    oldfullname=""
    find original -name "*.gpg" -printf "%f/%p\0" | sort -k1,1 -t/ -z | while read -d $'\0' line; do
      filename=${line%%/*}
      fullname=${line#*/}
      if [[ "$filename" == "$oldfilename" ]]; then
        echo -e "$oldfullname\"$fullname\"";
        oldfullname=""
      else
        oldfullname="\"$fullname\"\n"
      fi
      oldfilename="$filename"
    done
    4.6.2009 22:44 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Jo a to -r
    5.6.2009 10:23 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Mně spíš šlo o to, že pak už neřešíte expanzi parametrů a kdovíco.
    In Ada the typical infinite loop would normally be terminated by detonation.
    3.6.2009 10:38 deadmail
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace

    Riesenie v O(NlogN) pomocou sort a awk-u fungujuce ak v nazvoch suborov nie je tabulator ani znak konca riadku

    find -name "*.gpg" -printf "%f\t%p\n"|sort -k1,1 -t" "|awk 'NR == 1{fn=$1;f=$2;b=0} NR>1 {if ($1 == fn) {if (b == 0) {print f};print $2; b=0} else {b=0};fn=$1;f=$2}'
    

    Pozn: v prikaze sort za prepinacom -t je zadany tabulator v uvodzovkach ( CTRL-V, TAB)

    10.6.2009 20:53 Rodeo65
    Rozbalit Rozbalit vše Re: Find v cyklu a vypis duplikace
    Moc dekuju vsem. Velice mi to pomohlo. Sam bych si neporadil, fakt diky moc VSEM

    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.