Regulární výrazy

parseni csv, vypise pro kazdy radek hodnotu ve druhem patem a sestem sloupci, ale jen v pripade, ze v patem je nejaka hodnota:

sed -nr 's/([^;]*);([^;]*);([^;]*);([^;]*);([^;]+);(.*)/2;5;6/p'

Ostatní hezké příklady

Zjištění IP adresy nějakého zařízení. Anglicky je to inet addr:, česky inet adr:.

ifconfig eth0 | grep 'inet addr:' | sed  -n -e 's/(s*)inet adr:([0-9]*..[0-9]*..[0-9]*..[0-9]*)(.*)/2/p'

nahradi tabulatorama strednikem (hodi se pro export dat z mysql sed -e 's/t/;/g'

PostgreSQL

Následující příklad vypíše všechny řádky, u kterých sloupeček kód odpovídá regulárnímu výrazu, konkrétně se hledá výraz jako ''E25'', ''abc54'' a podobně.

SELECT * FROM my_table WHERE code ~* '^[a-z]+[0-9]+$';

Více na [[http://www.postgresql.org/docs/8.1/static/functions-matching.html]]

Apache .htaccess

Ukázka rewrite pravidel pro http server Apache.

RewriteEngine on
RewriteBase    /

RewriteRule   ^login$           ?module=morias_login_sql&action=form [L,NC]
RewriteRule   ^info/server$     ?module=morias_info&action=server [L,NC]

RewriteRule   ^morias(/?)$      ?module=morias_text&action=texts&seo=morias [L,NC]
RewriteRule   ^falias(/?)$      ?module=morias_text&action=texts&seo=falias [L,NC]
RewriteRule   ^text/([a-zA-Z0-9\_-]*)$     ?module=morias_text&action=texts&seo=$1 [L,NC]

RewriteRule   ^novinka/([a-zA-Z0-9\_-]*)$  ?module=morias_new&action=detail&seo=$1 [L,NC]
RewriteRule   ^new/([a-zA-Z0-9\_-]*)$      ?module=morias_new&action=detail&seo=$1 [L,NC]
RewriteRule   ^clanek/([a-zA-Z0-9\_-]*)$   ?module=morias_article&action=detail&seo=$1 [L,NC]
RewriteRule   ^article/([a-zA-Z0-9\_-]*)$  ?module=redsys_article&action=detail&seo=$1 [L,NC]

Zajimave odkazy

http://sed.sourceforge.net/sed1line_cz.html

http://sed.sourceforge.net/grabbag/tutorials/sedfaq.txt

© 2024 Ondřej Tůma McBig. Ondřej Tůma | Based on: Morias | Twitter: mcbig_cz | RSS: articles, twitter