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 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Komunita

    PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.

    Ladislav Hagara | Komentářů: 17
    5.5. 20:22 | IT novinky

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.

    Ladislav Hagara | Komentářů: 0
    5.5. 13:11 | Nová verze

    Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.

    Ladislav Hagara | Komentářů: 0
    5.5. 04:11 | Nová verze

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.

    Ladislav Hagara | Komentářů: 2
    5.5. 03:11 | Nová verze

    CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).

    Ladislav Hagara | Komentářů: 0
    4.5. 20:11 | Nová verze

    Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1515 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: jak smazat uppercase soubory

    5.1.2006 18:49 pol
    jak smazat uppercase soubory
    Přečteno: 298×
    Jak se dají smazat soubory v adresáři, které jsou velkými písmeny nejlépe přímo z bashe?

    Nebo jinak jak nacpat k rm aby smazal jenom [A-Z] soubory? ..omlouvám se, je to stupidní ale nic mě nenapadá, tj. ani pod čím bych to našel... (Když nic tak aspoň script, please ;) )

    Odpovědi

    5.1.2006 19:12 #Tom
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    rm $(ls | egrep '^[A-Z]+$')
    
    5.1.2006 19:22 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Dík, zní to dobře - ale nefunguje to.

    rm: too few arguments Try `rm --help' for more information.

    je přesně to co to vrátí. Jinak soubory mají tvar XXX.xxxXXX~1.xxx, typická ošklivá DOS jména...
    5.1.2006 19:29 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Zkusil jsem tohle rm "$(ls |egrep '^[A-Z]+.h3m')"

    a vrátilo mi to: cannot remove \nXXX.h3m

    Takže už zbývá jenom odtázka jak převést \n na mezeru?
    David Watzke avatar 5.1.2006 19:38 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    To co napsal #Tom počítá s tím, že v názvu budou JEN velká písmena... musíš se umět vyjadřovat. Jak převést \n na mezeru? RTFM! :-) man sed
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.1.2006 19:52 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    No pokud umíš zabránit tomu generování /n nebo ho opravit v následujícím příkazu budu ti jen vděčný.

    rm "$(ls | egrep '^[A-Z][A-Z]+.h3m')"

    ..operace je prováděna na FAT32 disku ..dotaz jsem dodatečně upřesnil
    5.1.2006 20:06 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Spíš man bash, speciálně QUOTING a zrušit ty uvozovky. Pokud jsou v těch jménech mezery, tak man find, zvláště volba -print0.
    David Watzke avatar 5.1.2006 19:40 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    To nepůjde, ne? ls hodí na jeden řádek víc jmen a s tím se (e)grep neporadí...
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 5.1.2006 19:41 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    s/se/si/
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.1.2006 19:49 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    To dělá jen tehdy, je-li výstupem terminál.
    5.1.2006 19:51 #Tom
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Ale poradí. Ten příkaz skutečně vymaže všechny soubory, které se skládají výhradně z velkých písmen. Pokud tam mají být i mezery, je to horší:
    for i in *; do
      if [ "$(echo $i | egrep '^[A-Z ]+$')" ]; then
        rm "$i"
      fi
    done
    
    5.1.2006 19:54 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    mezery tam skutečně mohou být... - je to DOS 8.3 name, tudíž i s mezerami
    5.1.2006 20:05 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    mimo mezer jsou tam somzřejmě i jiné znaky - jako ~ a číslo/a
    5.1.2006 20:18 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    samozřejmě jsou tam i jiné znaky jako - nebo _.

    Takže jak?
    5.1.2006 20:22 #Tom
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Třeba [A-Z,.-_ ], všechny znaky povolené znaky v DOSu si už prostě nepamatuju. ;-)
    5.1.2006 20:30 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Aha.

    No ale teď už to funguje perfektně.

    To jak zapisovat správně reg exp do bashe by se ale mohlo přidat do FAQ, no ne?

    ;-)
    5.1.2006 20:18 pol
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    samozřejmě jsou tam i jiné znaky jako - nebo _.

    Takže jak?
    5.1.2006 20:25 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Mám pocit, že mi přeskočilo
    hynek[~]$ echo a | egrep '[A-Z]'
    a
    hynek[~]$ 
    
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    5.1.2006 20:28 #Tom
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Nemělo to být spíš echo a | egrep '[A-Z]*'? To by bylo v pořádku.
    5.1.2006 20:41 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Nepochopil jsi patrně pointu. Ve výstupu z echo a není vůbec žádný znak z ropzsahu [A-Z]. Mě se ta úloha nedaří vyřešit jinak, než grep -v '[a-z]'. Můj grep i bash si prostě myslí, že když napíšu [A-Z], měl jsem patrně na mysli [a-zA-Z] a asi jsem byl jen línej.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    5.1.2006 20:47 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Perl jak se zdá za mě myslet nehodlá. Začínám být na [e]grep a bash poněkud nas...
    echo a | perl -ne 'm/[A-Z]/ && print'
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    5.1.2006 20:50 #Tom
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Je to zvláštní. S takovým chováním jsem se nikdy nesetkal a předpokládal jsem, že jde jen o nějaký překlep.
    5.1.2006 21:06 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Pointa je v např. přímo v manuálu ke grepu ;-)
    "Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C."

    Takže následující funguje podle očekávání:

    dunric@darkstar:~$ echo a | LC_ALL=C grep '[A-Z]'
    dunric@darkstar:~$
    
    dunric@darkstar:~$ echo A | LC_ALL=C grep '[A-Z]'
    A
    dunric@darkstar:~$
    
    In the garden sleeps a messenger ·
    5.1.2006 21:10 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Aha, takže jsem nakonec nesl dříví do lesa místo na ohniště ;-)
    In the garden sleeps a messenger ·
    5.1.2006 21:03 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Nějaké srandovní nastavení locales? Mně to funguje, ale chtěl jsem jen tak ze zvědavosti zkusit, jak fungují non-ascii rozsahy, a bum
    $ locale
    LANG=cs_CZ.UTF-8
    LC_CTYPE="cs_CZ.UTF-8"
    LC_NUMERIC="cs_CZ.UTF-8"
    LC_TIME="cs_CZ.UTF-8"
    LC_COLLATE=C
    LC_MONETARY="cs_CZ.UTF-8"
    LC_MESSAGES="cs_CZ.UTF-8"
    LC_PAPER="cs_CZ.UTF-8"
    LC_NAME="cs_CZ.UTF-8"
    LC_ADDRESS="cs_CZ.UTF-8"
    LC_TELEPHONE="cs_CZ.UTF-8"
    LC_MEASUREMENT="cs_CZ.UTF-8"
    LC_IDENTIFICATION="cs_CZ.UTF-8"
    LC_ALL=
    $ grep '[á-é]'
    Neoprávněný přístup do paměti (SIGSEGV)
    
    :-( Zkusím se na to někdy o víkendu kouknout...
    5.1.2006 21:07 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Tak to je taky dobré. grep namá, jak se zdá, regexp připravený na unicode.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    5.1.2006 21:04 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: jak smazat uppercase soubory
    Takže odpovím si sám. RTFM.
           Within a bracket expression, a range expression consists of two charac-
           ters separated by a hyphen.  It matches any single character that sorts
           between the two characters, inclusive,  using  the  locale's  collating
           sequence  and  character  set.   For  example, in the default C locale,
           [a-d] is equivalent to [abcd].  Many locales sort characters in dictio-
           nary  order,  and in these locales [a-d] is typically not equivalent to
           [abcd]; it might be equivalent to [aBbCcDd], for  example.   To  obtain
           the  traditional interpretation of bracket expressions, you can use the
           C locale by setting the LC_ALL environment variable to the value C.
    
    To je ale záludnost :-(
    hynek[~]$ LC_ALL=C
    hynek[~]$ echo a | egrep '[A-Z]'
    hynek[~]$
    Řešením je samozřejmě použít i [:upper:]. Funguje to například i v
    rm [[:upper:]]*
    případně
    find -name '[[:upper:]]*' -print0 | xargs -0 rm
    (Maže soubory začínající na velké písmeno)
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

    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.