Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).
Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.
Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.
Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.
Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.
Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.
#!/bin/sh
function testip() {
n=`echo $1|grep '^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$'|wc -l`
if [ $n -ge 1 ]; then
return 0
else
return 1
fi
}
if testip $1; then
echo OK
else
echo Not an IP
fi
[[ "$1" =~ "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" ]] && echo ano
[[ "$1" =~ "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" ]] && echo anopředtím by totiž prošly i věci jako 10.10.10.10.10.10
[[ "$1" =~ "^1[0-9]{1,2}\.[0-5]{1,3}\.[0-5]{1,3}\.[0-5]{1,3}$" ]] && echo ano
[[ "$1" =~ "^1[0-9]{1,2}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" ]] && echo anosamozřejmě tento vzor vyhoví i nesmyslným adresám jako: 192.168.999.999
#!/bin/bash
echo $1 | awk -F '.' '
{
if($1>0 && $1 <=255 && $2>0 && $2 <=255 && $3>0 && $3 <=255 && $4>0 && $4 <=255)
{
print $0;
}
}'
>
deb http://ftp.cz.debian.org/debian jessie main contrib non-freepokud je IP adresa, vytiskne ji; pokud neni, nevytiskne nic
#!/bin/bash
echo $1 | awk -F '.' '
{
if($1>0 && $1 <=255 && $2>0 && $2 <=255 && $3>0 && $3 <=255 && $4>0 && $4 <=255)
{
print $0;
}
}'
>
A je funkční, takže je vítězem ;)
Ale ještě jednou díky všem.
Problém vyřešen.
Mějte se, smějte se
#!/bin/bash
echo $1 | awk -F '.' '
{
if( NF==4 )
if($1>0 && $1 <=255 && $2>0 && $2 <=255 && $3>0 && $3 <=255 && $4>0 && $4 <=255)
{
print $0;
}
}'výše uvedenému totiž vyhoví řetězce jako 192.168.10.10.10.10.10.10
$x>0 by mela byt $x>=0
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
#!/usr/bin/awk -f
BEGIN {
FS=".";
} {
if(NF==4 && $1>=0 && $1 <=255 && $2>=0 && $2 <=255 && $3>=0 && $3 <=255 && $4>=0 && $4 <=255)
print;
}
deb http://ftp.cz.debian.org/debian jessie main contrib non-free#!/bin/bash
[[ "${1//[0-9]/}" == "..." ]] ||
exit 1
for i in ${1//./ }; do
let count++
[[ $i -ge 0 && $i -le 255 ]] ||
exit 1
done
[[ $count -eq 4 ]] ||
exit 1
exit 0
Pripadne sa da IFS=. Kto ako chce
Dobry den.
Sice uz je to vyresene, ale ciste v bash bez dalsich binarek to tady jeste nebylo:
if [[ "$ADRESA" =~ "^ *([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+) *$" ]] \
&& [ "${BASH_REMATCH[1]}" -lt 256 ] \
&& [ "${BASH_REMATCH[2]}" -lt 256 ] \
&& [ "${BASH_REMATCH[3]}" -lt 256 ] \
&& [ "${BASH_REMATCH[4]}" -lt 256 ]
then
$ADRESA="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.${BASH_REMATCH[3]}.${BASH_REMATCH[4]}"
else
echo "error: \"$ADRESA\" je neplatna" 1>&2
exit 3;
fi
Omlouvam se uz bylo..
marek
[[ který tam nakonec už je jednou použit.
$ type echo [ [[ test echo is a shell builtin [ is a shell builtin [[ is a shell keyword test is a shell builtin[[ je v bashi rychlejší než [
root@duron:/bin# ls -l /bin | grep '\[' -rwxr-xr-x 1 root root 25256 2007-06-09 03:12 [U mě je to binárka na disku. Leda, že se [ v bashi použije přednostně.
type.
bash$ type [ [ is a shell builtin bash$ type /usr/bin/[ /usr/bin/[ is /usr/bin/[Takže je rozdíl jestli napíšete
[ 0 -eq 1 ] nebo /usr/bin/[ 0 -eq 1 ]
IP=[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}
ip="123.123.123.123"
if [[ "$ip" =~ ^$IP$ ]]; then
echo "OK"
else
echo "ERR"
fi
echo "$ip" | grep -q "^$IP$" -
if [ $? -eq 0 ] ; then
echo "OK"
else
echo "ERR"
fi
#!/bin/bash
#oket 1 - 4
o1=1
o2=255
o3=0
o4=999
[ $(( $o1/256 )) == 0 ] &&
[ $(( $o2/256 )) == 0 ] &&
[ $(( $o3/256 )) == 0 ] &&
[ $(( $o4/256 )) == 0 ] && echo "je to IP adresa"
Tiskni
Sdílej: