ayuda con sed... [INACTIVE]

Here we discuss compilation and how to build an addon for BFW.

ayuda con sed...

Mensagempor nachazo » Sex Mai 07, 2010 11:43 am

hola chicos...

tengo un problema, estoy intentando entender expresiones regulares en sed...

la verdad muy dificil! :mrgreen:

el tema es que un script de SCA usa sed para insertar lineas en el squid.conf...

ninguna linea de lo que veran a continuacion se inserta con exito:

Código: Selecionar todos
sed -i "/icp_ports 0/{p;s/.*/InserirYoutubeCacheAki/;}" $SQUID_CONFFILE
  sed -i '/InserirYoutubeCacheAki/{p;s/.*/InserirYoutubeCachePrimeiraLinhaAki/;}' $SQUID_CONFFILE
  sed -i '/InserirYoutubeCachePrimeiraLinhaAki/{p;s/.*/InserirYoutubeCacheSegundaLinhaAki/;}' $SQUID_CONFFILE
  sed -i '/InserirYoutubeCacheSegundaLinhaAki/{p;s/.*/InserirYoutubeCacheTerceiraLinhaAki/;}' $SQUID_CONFFILE
  sed -i -e 's@InserirYoutubeCacheAki@#Insercao SquidCacheAux@' $SQUID_CONFFILE
  sed -i -e 's@InserirYoutubeCachePrimeiraLinhaAki@acl store_rewrite_list urlpath_regex \/(get_video\?|videodownload\?|videoplayback.*id)@' $SQUID_CONFFILE
  sed -i -e 's@InserirYoutubeCacheSegundaLinhaAki@acl QUERY2 urlpath_regex get_video\? videoplayback\? videodownload\?@' $SQUID_CONFFILE
  sed -i -e 's@InserirYoutubeCacheTerceiraLinhaAki@cache allow QUERY2@' $SQUID_CONFFILE
  sed -i '/(ace|adt|arj|asf|avi|bin|bz2|bzip|cab|dat|dll|doc|dot|exe|fla|flv|gz|iso|lha|log|lzh|mdb|mid|mov|mp3|mpeg|mpg|msi|mso|ogg|pps|ppt|rar|rm|rtf|shs|src|sys|swf|tgz|tif|ttf|wav|wma|wri|wmv|vpu|vpaa|vqf|vob|zip)$ 43200 100% 999999 ignore-reload/{p;s/.*/refresh_pattern (get_video\?|videoplayback\?|videodownload\?) 5259487 99999999% 5259487 override-expire ignore-reload/;}' $SQUID_CONFFILE


por ende lo que quisiera poder entender es la primera linea:

sed -i "/icp_ports 0/{p;s/.*/InserirYoutubeCacheAki/;}" $SQUID_CONFFILE


y luego esta:

sed -i -e 's@InserirYoutubeCacheAki@#Insercao SquidCacheAux@' $SQUID_CONFFILE


si alguien me puede aclarar que es "{p;s" ?

gracias...
nachazo
 

Re: ayuda con sed...

Mensagempor M客¡NhØ §åMµ®å¡ » Sex Mai 07, 2010 11:59 am

nachazo, estava preparando o material para lhe enviar... :roll:
nachazo escreveu:si alguien me puede aclarar que es "{p;s" ?

Isso é para inserir o conteúdo uma linha abaixo da expressão passada, ou seja:
nachazo escreveu:sed -i "/icp_ports 0/{p;s/.*/InserirYoutubeCacheAki/;}" $SQUID_CONFFILE

Seria para inserir InserirYoutubeCacheAki na linha abaixo da linha que possui a expressão icp_ports 0 no arquivo squid.conf.
Como comentei, essa linha (icp_ports 0) não é contida em nenhum dos arquivos squid_X.tpl, por isso a inserção das linhas referentes ao SCA devem ser feitas diretamente "en el" squid.conf.
Utilize a busca do fórum! Ela é sua amiga!
Não dou suporte via MP ou MSN para ninguém. Por favor, não insista. (Para que existe o fórum?)
É novo aqui? É "antigo" e mesmo assim está perdido?
Então leia:
Avatar do usuário
M客¡NhØ §åMµ®å¡
BFW Developer
BFW WebServer
BFW Beneméritos
BFW Add-on Developer
BFW Moderator
BFW Manager
 
Mensagens: 4111
Registrado em: Qua Abr 08, 2009 11:06 am
Localização: Rio de Janeiro
BrazilFW Box: Máquina Física
CPU: AMD Athlon(tm) II X2 215 Processor
Memória: 1 GiB / Link 50 MB
BFW 3.0.262 64 bits.
Serviços Ativos: DNS, DHCP
Addons: Samba, Pure-FTPd (no certified), BFW WebServer (no certified)

Re: ayuda con sed...

Mensagempor El guapo Dan » Sex Mai 07, 2010 12:51 pm

Solo para agregar a lo que dice marcinho.
si alguien me puede aclarar que es "{p;s" ?


p=print.
s=substitute.
El guapo Dan
 

Re: ayuda con sed...

Mensagempor nachazo » Sex Mai 07, 2010 1:30 pm

muchisimas gracias amigos!!!! :o!
nachazo
 

Re: ayuda con sed...

Mensagempor nachazo » Sex Mai 07, 2010 3:19 pm

Bueno de paso dejo un manual que voy armando a medida que busco cosas de sed :mrgreen:

http://www.brazilfw.com.br/users/nachaz ... emplos.doc

para que no tengamos que reventarnos el coco cada ves que necesitemos algo...

saludos!
nachazo
 

Re: ayuda con sed...

Mensagempor nachazo » Sex Mai 07, 2010 3:35 pm

bueno aca no entiendo bien.... je... :mrgreen:

Código: Selecionar todos
sed -i '/(ace|adt|arj|asf|avi|bin|bz2|bzip|cab|dat|dll|doc|dot|exe|fla|flv|gz|iso|lha|log|lzh|mdb|mid|mov|mp3|mpeg|mpg|msi|mso|ogg|pps|ppt|rar|rm|rtf|shs|src|sys|swf|tgz|tif|ttf|wav|wma|wri|wmv|vpu|vpaa|vqf|vob|zip)$ 43200 100% 999999 ignore-reload/{p;s/.*/refresh_pattern (get_video\?|videoplayback\?|videodownload\?) 5259487 99999999% 5259487 override-expire ignore-reload/;}' $SQUID_CONFFILE


busca la linea:
(ace|adt|arj|asf|avi|bin|bz2|bzip|cab|dat|dll|doc|dot|exe|fla|flv|gz|iso|lha|log|lzh|mdb|mid|mov|mp3|mpeg|mpg|msi|mso|ogg|pps|ppt|rar|rm|rtf|shs|src|sys|swf|tgz|tif|ttf|wav|wma|wri|wmv|vpu|vpaa|vqf|vob|zip)$ 43200 100% 999999 ignore-reload


y la remplaza por:
refresh_pattern (get_video\?|videoplayback\?|videodownload\?) 5259487 99999999% 5259487 override-expire ignore-reload


es asi?
nachazo
 

Re: ayuda con sed...

Mensagempor M客¡NhØ §åMµ®å¡ » Sex Mai 07, 2010 7:19 pm

nachazo escreveu:bueno aca no entiendo bien.... je... :mrgreen:

Código: Selecionar todos
sed -i '/(ace|adt|arj|asf|avi|bin|bz2|bzip|cab|dat|dll|doc|dot|exe|fla|flv|gz|iso|lha|log|lzh|mdb|mid|mov|mp3|mpeg|mpg|msi|mso|ogg|pps|ppt|rar|rm|rtf|shs|src|sys|swf|tgz|tif|ttf|wav|wma|wri|wmv|vpu|vpaa|vqf|vob|zip)$ 43200 100% 999999 ignore-reload/{p;s/.*/refresh_pattern (get_video\?|videoplayback\?|videodownload\?) 5259487 99999999% 5259487 override-expire ignore-reload/;}' $SQUID_CONFFILE


busca la linea:
(ace|adt|arj|asf|avi|bin|bz2|bzip|cab|dat|dll|doc|dot|exe|fla|flv|gz|iso|lha|log|lzh|mdb|mid|mov|mp3|mpeg|mpg|msi|mso|ogg|pps|ppt|rar|rm|rtf|shs|src|sys|swf|tgz|tif|ttf|wav|wma|wri|wmv|vpu|vpaa|vqf|vob|zip)$ 43200 100% 999999 ignore-reload


y la remplaza por:
refresh_pattern (get_video\?|videoplayback\?|videodownload\?) 5259487 99999999% 5259487 override-expire ignore-reload


es asi?

Não.
É a mesma coisa das linhas que você consultou antes...
O script procura:
(ace|adt|arj|asf|avi|bin|bz2|bzip|cab|dat|dll|doc|dot|exe|fla|flv|gz|iso|lha|log|lzh|mdb|mid|mov|mp3|mpeg|mpg|msi|mso|ogg|pps|ppt|rar|rm|rtf|shs|src|sys|swf|tgz|tif|ttf|wav|wma|wri|wmv|vpu|vpaa|vqf|vob|zip)$ 43200 100% 999999 ignore-reload

E inseri uma linhas abaixo com:
refresh_pattern (get_video\?|videoplayback\?|videodownload\?) 5259487 99999999% 5259487 override-expire ignore-reload


Saludos. :o!
Utilize a busca do fórum! Ela é sua amiga!
Não dou suporte via MP ou MSN para ninguém. Por favor, não insista. (Para que existe o fórum?)
É novo aqui? É "antigo" e mesmo assim está perdido?
Então leia:
Avatar do usuário
M客¡NhØ §åMµ®å¡
BFW Developer
BFW WebServer
BFW Beneméritos
BFW Add-on Developer
BFW Moderator
BFW Manager
 
Mensagens: 4111
Registrado em: Qua Abr 08, 2009 11:06 am
Localização: Rio de Janeiro
BrazilFW Box: Máquina Física
CPU: AMD Athlon(tm) II X2 215 Processor
Memória: 1 GiB / Link 50 MB
BFW 3.0.262 64 bits.
Serviços Ativos: DNS, DHCP
Addons: Samba, Pure-FTPd (no certified), BFW WebServer (no certified)

Re: ayuda con sed...

Mensagempor gamba47 » Seg Mai 10, 2010 11:37 am

Lo mío es off-topic, pero creo que sed es la mejor herramienta disponible junto con awk, ambas tienen millones de usos y todos hechos con una linea!!

Saludos. gamba47
Avatar do usuário
gamba47
BFW Beneméritos
 
Mensagens: 7243
Registrado em: Ter Dez 27, 2005 1:51 pm
Localização: Buenos Aires, Argentina
BrazilFW Box: Pentium4 1256mb RAM HD 200gb
BrazilFW 3.0.237 without Squid
3 ADSLs & 1 Cablemodem
50 Users & more!


Voltar para Add-On Factory

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes

cron