Na Epic Games Storu lze do 15. června získat zdarma počítačovou hru PAYDAY 2 (ProtonDB, Wikipedie). Linuxový port přestal být ve čtvrtek 8. června podporován.
Ezoterický programovací jazyk Brainfuck (Wikipedie) slaví 30 let. Urban Müller nahrál první implementaci tohoto jazyka na Aminet 9. června 1993.
Společnost Apple na konferenci WWDC23 představila Game Porting Toolkit. Společnost CodeWeavers informuje, tento toolkit vychází ze zdrojových kódů jejího CrossOveru, tj. komerčního Wine.
Byla vydána květnová aktualizace aneb nová verze 1.79 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.79 vyšlo také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Jak to bude s podporou rastrového grafického formátu JPEG XL ve webových prohlížečích? Google ji nedávno z Chrome a Chromia odstranil (#1178058#c84). Jednou z novinek beta verze Safari 17 je ale právě podpora JPEG XL. Vráti se JPEG XL do Chrome a Chromia (#1451807)? Dění kolem JPEG XL lze sledovat například na r/jpegxl.
Byla vydána nová stabilní verze 6.1 (aktuálně 6.1.3035.51) webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 114. Přehled novinek i s náhledy v příspěvku na blogu. Nový Vivaldi se pro Bing tváří jako Microsoft Edge (upravený User-Agent) a díky tomu v něm funguje Bing Chat. Vylepšeny byly Pracovní prostory (Workspaces). Podrobný přehled v Changelogu.
Linuxová distribuce ArchLabs Linux po šesti letech vývoje končí. Dobbie to zabalil.
David Tschumperlé v obšírném článku se spoustou náhledů shrnuje vývoj multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie) za poslední rok a půl.
Vývojáři postmarketOS vydali verzi 23.06 tohoto před šesti lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, Plasma a Sxmo. Aktuálně podporovaných zařízení je 30.
Byla vydána distribuce openSUSE Leap verze 15.5 (poznámky k vydání). Jde o konzervativní distribuci odpovídající komerčnímu SUSE Linux Enterprise 15, nyní Service Pack 5. Mělo jít o poslední aktualizaci Leap v současné podobě před přechodem na Adaptable Linux Platform s „neměnným“ základem, ale padlo rozhodnutí, že v roce 2024 ještě vyjde Leap 15.6 s podporou do konce roku 2025.
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 ;) )
rm $(ls | egrep '^[A-Z]+$')
rm: too few arguments
Try `rm --help' for more information.
je přesně to co to vrátí. Jinak soubory mají tvar XXX.xxx
až XXX~1.xxx
, typická ošklivá DOS
jména...
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?
man sed
/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
ls
hodí na jeden řádek víc jmen a s tím se (e)grep neporadí...
for i in *; do if [ "$(echo $i | egrep '^[A-Z ]+$')" ]; then rm "$i" fi done
DOS 8.3 name
, tudíž i s mezerami
~
a číslo/a
[A-Z,.-_ ]
, všechny znaky povolené znaky v DOSu si už prostě nepamatuju. hynek[~]$ echo a | egrep '[A-Z]' a hynek[~]$
echo a | egrep '[A-Z]*'
? To by bylo v pořádku.
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.
[e]grep
a bash
poněkud nas... echo a | perl -ne 'm/[A-Z]/ && print'
"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:~$
$ 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)
grep
namá, jak se zdá, regexp připravený na unicode.
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)
Tiskni
Sdílej: