IKEA představila 3 senzory pro chytrou domácnost: senzor na dveře a okna PARASOLL, bezdrátový pohybový senzor VALLHORN a senzor úniku vody BADRING. Budou kompatibilní s Home Assistant?
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 13.0.0. Přehled novinek v oznámení.
Laboratoře CZ.NIC vydaly novou verzi 4.23.0 aplikace Datovka, tj. svobodné multiplatformní desktopové aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi. Přidána byla podpora pro velkoobjemové datové zprávy (VoDZ) a pro typy datových schránek PFO_ARCH, PFO_AIAT a PFO_AZI. Další novinkou je pamatování velikosti dialogových oken, pozice ovládacích prvků, šířek sloupců a řazení položek
… více »Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 5.20. Mimo jiné aktualizuje Tor Browser (13.0.4) a Thunderbird (115.5), opravuje několik chyb.
Bylo rozhodnuto, že Red Hat Enterprise Linux 10, jehož vydání je plánováno na první pololetí 2025, bude už bez X serverů. Zůstane pouze Xwayland.
Mobilní Datovka, tj. svobodná aplikace pro přístup k datovým schránkám pro zařízení s operačním systémem iOS a Android, byla minulá týden vydána v nové verzi 2.0.0. Zásadně bylo zmodernizováno uživatelské rozhraní. Přibyla možnost přepínat aplikaci mezi světlým a tmavým režimem. Současně byl publikován rozhovor QaA: Projekt Datovka očima vývojářů.
Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení obrazovky i audia připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 2.3.
Včera skončila upstream podpora PHP 8.0. Podporované verze jsou 8.1, 8.2 a 8.3.
Představen byl herní notebook TUXEDO Sirius 16 - Gen1 s 16,1palcovým displejem s rozlišením 2560 x 1440 pixelů, 8jádrovým CPU AMD Ryzen 7 7840HS a GPU AMD Radeon RX 7600M XT 8 GB. V konfiguraci si lze vybrat až 96 GB RAM. Hmotnost notebooku je 2,3 kg. Koupit jej lze s nainstalovaným TUXEDO OS nebo Ubuntu 22.04 LTS. Cena začíná na 1 699 eurech (41 500 korun).
Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní dospěl do verze 1.0.0.
sed(1)
by snad nemel byt takovy problem. Je jen zapotrebi znat regularni vyrazy a precist si manual. Napr. odmazani HTML komentaru se udela velmi snadno:
---cut--- #!/usr/bin/sed -f /<!--/!b :a /-->/!{ N ba } s/<!--.*-->// ---cut---Tento script je ale asi notoricky znamy. Nevim, jak se komentuje v tech vlozenych scriptech, ale jestli to je podobne treba C ci C++, pak se jich zbavis treba timto scriptikem. Vice o
sed(1)
a regularnich vyrazech naleznes treba tady.
Skvely editor Vim by mel v kazde normalni distribuci GNU/Linuxu podporovat (perlovske) regularni vyrazy. Zkusil bych hledat i na jeho strankach, treba tam neco bude...
Anebo pouzij Google abys nasel presne to, co hledas; tedy, asi nenaleznes uplne presne to, co hledas, ale rozhodne naleznes nekolik vhodnych kusu, ktere si das dohromady a... voila.
./rem_rem.sed: line 5: !--/!b: není souborem ani adresářem ./rem_rem.sed: line 6: :a: command not found ./rem_rem.sed: line 7: /!{: Přístup odmítnut ./rem_rem.sed: line 8: N: command not found ./rem_rem.sed: line 9: ba: command not found ./rem_rem.sed: line 10: syntax error near unexpected token `}' ./rem_rem.sed: line 10: `}'Asi nevím jak ho spustit. Potřeboval bych vymazat všechno mezi
<!-- -->a pak všechno co začíná
//do konce řádku. Dále mezery před a za těmito znaky:
{}(),;=+-<>a ještě možná něco. Mezery na začátku řádku a na konci řádku. A taky více mezer zaměnit za jednu.
#!/bin/sh f1="f1.txt" f2="f2.txt" cat $1 | sed 's/ / /g '| sed 's/ / /g' | sed 's/ / /g '| sed 's/ / /g' >${f2} cat ${f2} | sed 's/= /=/g '| sed 's/ =/=/g '| sed 's/( /(/g '| sed 's/ )/)/g '| sed 's/ (/(/g '| sed 's/) /)/g' >${f1} cat ${f1} | sed 's/+ /+/g '| sed 's/ +/+/g '| sed 's/- /-/g '| sed 's/ -/-/g' >${f2} cat ${f2} | sed 's/, /,/g '| sed 's/ ,/,/g '| sed 's/; /;/g '| sed 's/ ;/;/g' >${f1} cat ${f1} | sed 's/< /</g '| sed 's/ </</g '| sed 's/> />/g '| sed 's/ >/>/g' >${f2} cat ${f2} | sed 's/{ /{/g '| sed 's/ {/{/g '| sed 's/} /}/g '| sed 's/ }/}/g '| sed 's/^ //g '| sed 's/ $//g' >${f1} cat ${f1} | sed 's/[ (){};]\/\/.*//g '| sed 's/\s*$//g '| sed 's/^$//g '| sed 's/<\!--.*-->//g' >${f2} cat ${f2} | sed '/^$/d '| sed '/^\/\//d' >$2Tak jsem napsal tohle, no jakžtakž to funguje. No mohlo to bejt lepší.
cat
y (zvládne to sed
), zbytečný sed
y (přepínač -e
u sed
u).
s1="zdroj.html" s2="cíl.html" f1="f1.txt" f2="f2.txt" # smaže prázdné místo (mezery, tabulátory) ze začátku i z konce sed 's/^[ \t]*//g;s/[ \t]*$//g' ${s1} >${f1} # nahradí tabulátor mezerou, smaže mezery, smaže mezeru (tabulátor) na konci řádku. sed -e 's/\t/ /g' -e 's/ / /g' -e 's/ / /g' -e 's/ / /g' -e 's/ / /g' -e 's/[ \t]*$//' ${f1} >${f2} # Mazání mezer před a za vybranými znaky: sed -e 's/= /=/g' -e 's/ =/=/g' -e 's/( /(/g' -e 's/ )/)/g' ${f2} >${f1} sed -e 's/+ /+/g' -e 's/ +/+/g' -e 's/- /-/g' -e 's/ -/-/g' ${f1} >${f2} sed -e 's/, /,/g' -e 's/ ,/,/g' -e 's/; /;/g' -e 's/ ;/;/g' ${f2} >${f1} sed -e 's/< /</g' -e 's/ </</g' -e 's/> />/g' -e 's/ >/>/g' ${f1} >${f2} sed -e 's/{ /{/g' -e 's/ {/{/g' -e 's/} /}/g' -e 's/ }/}/g' -e 's/^ //g' -e 's/ $//g' ${f2} >${f1} # Pozor na konstrukci: //--></SCRIPT> ukončující javascript: sed -e 's/\/\/[^-].*//g' -e 's/ $//g' -e 's/ \*/*/g' -e 's/\* /*/g' -e 's/<\!--.*-->//g' ${f1} >${f2} # smaže prázdné řádky sed -e '/^$/d' ${f2} >${f1} # pokud řádka začíná "}" připojí ji k předchozí řádce a přidá tam "}": sed -e :a -e '$!N;s/\n}/}/;ta' -e 'P;D' ${f1} >${f2} # pokud řádka začíná "</" připojí ji k předchozí řádce a přidá tam "</": sed -e :a -e '$!N;s/\n<\//<\//;ta' -e 'P;D' ${f2} >${f1} # pokud řádka končí těmito znaky [{,;] připojí následující řádku: sed -e :a -e '/[{,;]$/N; s/\n//; ta' ${f1} >${f2} # Doplní omylem smazaný řádek (někde je tam chyba): sed -e 's/^<\!D.*/<!DOCTYPE HTML PUBLIC "-\/\/W3C\/\/DTD HTML 4\.01 Frameset\/\/EN">/g' ${f2} >${s2} # Uklidí dočasné soubory: rm -f ${f1} rm -f ${f2}Už to začíná vypadat k světu.
chmod +x rem_rem.sed ./rem_rem.sed A tady piste, uvidite sam, ze funguje... staci do nej presmerovat vstup a jede... komentar <!-- bude ignorovan --> jeste nejaky problem? CTRL-DJo, nastavte si taky dobre cestu na zacatku toho scriptu. Spravnou cestu k programu
sed(1)
zjistite treba takto:
which sed /usr/bin/sedVice viz
which(1)
(neboli man 1 which
).
Ten script spustite treba takto:
./rem_rem.sed soubor.html ./rem_rem.sed < soubor.html ./rem_rem.sed soubor.html > vysledek.html ./rem_rem.sed < soubor.html > vysledek.htmlPrvni 2 priklady vam to vypisi na standardni vystup. Druhe 2 to vypisi do souboru
vysledek.html
. Prvni priklad dava scriptu soubor.html
jako parametr. Druhy priklad soubor presmeruje na standardni vstup do scriptu. V tretim prikladu se vezme soubor a vystup se presmeruje do jineho souboru. Ve ctvrtem prikladu se presmeruje soubor do script a vystup se presmeruje do jineho souboru. Pouzijte co se vam libi.
Heledte, a co si treba precist alespon nejake zaklady prace v shellu? Doporucuji knizku "Linux v kostce" (neni draha, maji ji snad vsude a obsahuje manualove stranky vsech zakladnich programu plus mozna i neco navic, samosebou cesky). Pro zakladni orientaci snad postaci, je takova bila s obrazkem kone na obalce.
PS: Neni to vsechno tak tezke, jak to vypada. Jen staci tomu dat par veceru a budete v tom jako doma, verte mi!
Tiskni
Sdílej: