Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »David Malcolm se na blogu vývojářů Red Hatu rozepsal o vybraných novinkách v GCC 16, jež by mělo vyjít v nejbližších dnech. Vypíchnuta jsou vylepšení čitelnosti chybových zpráv v C++, aktualizovaný SARIF (Static Analysis Results Interchange Format) výstup a nová volba experimental-html v HTML výstupu.
Byla vydána verze R14.1.6 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Jon Seager z Canonicalu včera na Ubuntu Community Hubu popsal budoucnost AI v Ubuntu. Dnes upřesnil: AI nástroje budou k dispozici jako Snap balíčky, vždy je může uživatel odinstalovat. Ve výchozím nastavení budou všechny AI nástroje používat lokální AI modely.
Nový ovladač Steam Controller jde do prodeje 4. května. Cena je 99 eur.
Greg Kroah-Hartman začal používat AI asistenta pojmenovaného gkh_clanker_t1000. V commitech se objevuje "Assisted-by: gkh_clanker_t1000". Na social.kernel.org publikoval jeho fotografii. Jedná se o Framework Desktop s AMD Ryzen AI Max a lokální LLM.
Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.3.0. S experimentální podporou FLTK 1.4. S příkazem dilloc pro ovládání prohlížeče z příkazové řádky. Vývoj prohlížeče se přesunul z GitHubu na vlastní doménu dillo-browser.org (Git).
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáři v přehledu vypíchli vylepšenou instalaci, podporu senzoru okolního světla, úsporu energie, opravy Bluetooth nebo zlepšení audia. Vývoj lze podpořit na Open Collective a GitHub Sponsors.
raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.
Řešení dotazu:
(ls -1 a; ls -1 b)|sort|uniq -c|grep -vE "^ 2"(ale možná někoho napadne něco elegantnějšího)
for NAME in `(ls -1 a; ls -1 b)|sort|uniq -c|grep -vE "^ 2"|sed 's/ 1 //g'`; do find . -name $NAME; done(občas si říkám, jestli skutečně jsem takového prasení schopen ;)
for NAME in `(ls -1 a; ls -1 b)|sort|uniq -c|grep -vE "^ 2"|sed 's/^ 1 //g'`; do find . -name "$NAME"; donekdyby jméno souboru obsahovalo divoké znaky a sekvenci " 1 ".
diff <(ls dir1) <(ls dir2)
diff i ls již striktně vzato nesplňují zadání "v BASHi". Ale pokud to vezmete trochu utilitaristicky, tak takhle by to taky šlo (a je to méně pracné).
DIR1="dir1"
DIR2="dir2"
this_dir_only()
{
cd "${1}" || return 1
echo "Pouze v: ${1}"
for obj in *
do [ -e "../${2}/${obj}" ] || echo $obj
done
cd ..
echo
}
this_dir_only "${DIR1}" "${DIR2}"
this_dir_only "${DIR2}" "${DIR1}"
diff -rusq adresář1 adresář2a výsledek pak třeba nějak roztřídit podle potřeba. Vycházím z předpokladu, že v adresářích jsou další podadresáře které mohou něco obsahovat, takže nestačí porovnávat jen první úroveň vnoření jak asi dělá výše uvedená udělej-si-sám funkce.
diff -sq adresář1 adresář2 | grep "Only in adresář1"
find adresář1 adresář2 -maxdepth 1 -type f ! -name '.*' | cut -d "/" -f 2- | sort -u | while read f; do
if [[ -f "a/$f" && ! -f "b/$f" ]]; then
echo "Jen v adresář1: $f"
elif [[ -f "b/$f" && ! -f "a/$f" ]]; then
echo "Jen v adresář2: $f"
else
echo "Oba adresáře: $f";
fi
done | sort -u
$ mkdir -p dir1/{x,y} ; touch dir1/{a,b,c,d,e}
$ mkdir -p dir2/{y,z} ; touch dir2/{b,c,d,e,f}
Varianta a:
$ diff <(ls dir1) <(ls dir2) 1d0 < a 6c5 < x/ --- > f 7a7 > z/Tedy jenom v prvním vlevo, jenom v druhem vpravo. Varianta b:
$ DIR1="dir1"
$ DIR2="dir2"
$
$ this_dir_only()
> {
> cd "${1}" || return 1
> echo "Pouze v: ${1}"
> for obj in *
> do [ -e "../${2}/${obj}" ] || echo $obj
> done
> cd ..
> echo
> }
$
$ this_dir_only "${DIR1}" "${DIR2}"
Pouze v: dir1
a
x
$ this_dir_only "${DIR2}" "${DIR1}"
Pouze v: dir2
f
z
Buď jsem nepochopil zadání, nebo jste se někde uklep, nebo nevím?
Pro úplnost zkoušeno na:
$ bash --version GNU bash, version 3.1.17(2)-release (x86_64-slackware-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc.a
GNU bash, version 3.2.25(1)-release (i386-pc-solaris2.11) Copyright (C) 2005 Free Software Foundation, Inc.
DIR1="dir1"
DIR2="dir2"
this_dir_only()
{
[ -d "${1}" -a -d "${2}" ] || return 1
pfx=""
pushd "${1}" &> /dev/null || return 2
echo "Pouze v: ${1}"
[ ${2:0:1} == "/" ] || pfx="../"
for obj in *
do [ -e "${pfx}${2}/${obj}" ] || echo $obj
done
popd &> /dev/null
echo
}
this_dir_only "${DIR1}" "${DIR2}"
this_dir_only "${DIR2}" "${DIR1}"
DIR1="dir1"
DIR2="dir2"
this_dir_only()
{
[ -d "${1}" -a -d "${2}" ] || return 1
top_dir="${PWD}"
pfx=""
pushd "${1}" &> /dev/null || return 2
echo "Pouze v: ${1}"
[ ${2:0:1} == "/" ] || pfx="${top_dir}/"
for obj in *
do [ -e "${pfx}${2}/${obj}" ] || echo $obj
done
popd &> /dev/null
echo
}
this_dir_only "${DIR1}" "${DIR2}"
this_dir_only "${DIR2}" "${DIR1}"
in dir/* ?
function onlyinfirst
{
for ent in $1/*; do
[ -e "$2/${ent##*/}" ] || echo $ent
done
}
onlyinfirst $1 $2
onlyinfirst $2 $1
basename, protože to už jste mimo BASH. Asi takhle, když už se ptáte:
this_dir_only()
{
[ -d "${1}" -a -d "${2}" ] || return 1
echo "Pouze v: ${1}"
for obj in "${1}"/*
do [ -e "${2}/${obj##*/}" ] || echo "${obj##*/}"
done
echo
}
Tiskni
Sdílej: