V Amsterdamu probíhá Blender Conference 2025. Videozáznamy přednášek lze zhlédnout na YouTube. V úvodní keynote Ton Roosendaal oznámil, že k 1. lednu 2026 skončí jako chairman a CEO Blender Foundation. Tyto role převezme současný COO Blender Foundation Francesco Siddi.
The Document Foundation, organizace zastřešující projekt LibreOffice a další aktivity, zveřejnila výroční zprávu za rok 2024.
Byla vydána nová stabilní verze 7.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 140. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.
Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.
Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
#!/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-free
pokud je IP adresa, vytiskne ji; pokud neni, nevytiskne nicA 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($1>0 && $1 <=255 && $2>0 && $2 <=255 && $3>0 && $3 <=255 && $4>0 && $4 <=255) { print $0; } }' >
#!/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 0Pripadne 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: