Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
celkem=$(ls -1 /usr/share/fortune/cs/*.dat | wc -l ) ; soubor=$(( $RANDOM % $celkem )) ; rec=$(ls -1 /usr/share/fortune/cs/*.dat | head -n $soubor | tail -1) ; fortunik=${rec%%.*} ; fortune $fortunik
Řešení dotazu:
Ano , v archu mám :
ls /usr/share/fortune/cs cimrman citat.dat hornicek ignac.dat klasik-cz lkml.dat mikulas murphy.dat plihal pratchett.dat reddwarf stoa1.dat vodnansky wodehouse.dat cimrman.dat filmy hornicek.dat jerome klasik-cz.dat lodge mikulas.dat parafraze plihal.dat prislovi reddwarf.dat stopar vodnansky.dat wright citace filmy.dat chesterton jerome.dat klasik-sk lodge.dat mladik parafraze.dat pocitace prislovi.dat skala stopar.dat wikiquote wright.dat citace.dat guth chesterton.dat josef klasik-sk.dat market mladik.dat parkinson pocitace.dat rdvcitaty skala.dat valka wikiquote.dat zemeplocha citat guth.dat ignac josef.dat lkml market.dat murphy parkinson.dat pratchett rdvcitaty.dat stoa1 valka.dat wodehouse zemeplocha.dat
Chci dát do bashrc kde nyní mám
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1="\[\033[0;37m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[0;31m\]\h'; else echo '\[\033[0;33m\]\u\[\033[0;37m\]@\[\033[0;96m\]\h'; fi)\[\033[0;37m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;37m\]]\n\[\033[0;37m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]"
alias pacman='sudo pacman'
alias nmap='sudo nmap -sV -O -v '
alias ssh='ssh -X -C '
export EDITOR="mcedit"
celkem=$(ls -1 /usr/share/fortune/cs/*.dat | wc -l ) ; soubor=$(( $RANDOM % $celkem )) ; rec=$(ls -1 /usr/share/fortune/cs/*.dat | head -n $soubor | tail -1) ; fortunik=${rec%%.*} ; echo -e "Hláška '"${fortunik##*/}"'\n" ; fortune $fortunik
alias kec= ..... ale ten dlouhej příkaz ze stejnou funkcí mi to nežere
takže potřebuju něco aby ve složce usr/share/fortune/cs/ spočítalo počet souborů bez koncovky .dat , pak náhodně jeden vybralo a spustilo se správným parametrem fortune.
fortune `find * -name '*.txt' -print | sort -R | head -n1 | sed s/\.txt//`
Jo je to asi lepší : find /usr/share/fortune/cs/* -name '*.dat' -print | sort -R | head -n1 | sed s/\.dat//
Asi nerozumíš jednoduchému dotazu že se nesmí zobrazovat soubory .dat ale bez přípony a to s uvedením cesty nijak nezkrátí. příkaz.
To co je ve složce je již v předchozích příspěvcích ukázáno.
rec=$(find /usr/share/fortune/cs -name '*.dat' | sort -R | head -n1 | sed s/\.dat//) ; echo -e "Hláška -"${rec##*/}"-\n" ; fortune $rec ; echo
Dobře , zkráceno podle tebe (nějak sem si přečetl jen začátek a konec tvé reakce)
Bohuzel standartni chovani neni vypsat nazev databaze hlasek ze ktere se prave ukazuje text a take ze nechci jinou nez slozku cesky .
A takto by to neslo:
fortunecz(){ set *.dat; chosen=$(( $RANDOM % $# )); eval fortune \${${chosen}%%.*};}
a dat to do ~/.bashrc napr. ako ste navrhli ?
#fortunecz
fortune:/bin/bash not a fortune file or directory
No fortunes found
ne takto mi to nefunguje
Nefunguje, bo som zabudol na adresar:
fortunecz(){ dir=/usr/share/fortune/cs/; set "$dir"/*.dat; chosen=$(( $RANDOM % $# )); eval fortune \${${chosen}%%.*}; }Som to odskusal priamo v adresare s nimi, tak sa chybicka vloudila. Ale inak u mna to funguje.
Taktiez je problem, ze premenna chosen niekedy ma hodnotu 0, co je shell samotny. Bud zavolat random znova, alebo jednoducho takto ( a ma tu mozno za to aj dakto zozerie :) ):
fortunecz(){ dir=/usr/share/fortune/cs/; set "$dir"/*.dat; chosen=$(( $RANDOM % $# + 1 )); eval fortune \${${chosen}%%.*}; }
Ok, ja dneska koncim uz, lebo co je moc, to je moc. Fortune sice vzdy vrati daco, ale problem je, ze tym pripocitanim 1 sa sice odstrani chyba ohladne volania $0, ale na hornom konci rozsahu bude hodnota $n prazdna a fortune zoberie hlasku aj z ineho ako ceskeho adresara. Takze takto by to mohlo byt, aspon ja by som bol spokojny:
fortunecz(){ dir=/usr/share/fortune/cs/; set "$dir"/*.dat; chosen=$(( $RANDOM % $# )); [[ $chosen -eq 0 ]] && let chosen++; eval fortune \${${chosen}%%.*}; }Mojim cielom bolo cisto v bash-i to vyriesit, lebo si osobne myslim, ze volat find, tail, sort pre tuto ulohu je zbytocne. p.s: Asi by som mal mat daky casovy limit vynuteny po zobrazeni nahladu, kedy sa postavim zo stolicky a zacnem aj premyslat, nez nieco odoslem. :)
$ f=( /path/*.dat ) result="${f[RANDOM%${#f[@]}]%.dat}" && fortune "${result##*/}"
Nevidím jediný rozumný důvod proč to řešit čistě v Bashi. Oproti volání find a shuf je to výrazně méně čitelné.
BTW: Jinak co se týče Bashe, určitě bych se snažil vyhnout psát v něm co rozsáhlejšího, skripty jsou hodně nečitelné a špatně udržovatelné. Rozhodně je mnohem lepší použít Python.
Tiskni
Sdílej: