[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Comentar linha de arquivo com o sed
From: |
Alysson Gonçalves de Azevedo |
Subject: |
Re: [shell-script] Comentar linha de arquivo com o sed |
Date: |
Mon, 23 Jan 2012 11:15:52 -0200 |
e repare que eu errei ali porque esqueci de colocar o $2 no comando de
enable.
"--enable") sed -i"*.${v_DATA}" 's/^#\(http_access allow $2\)/\1/g' $v_
ARQUIVO;;
Alysson Gonçalves de Azevedo
(11) 8491-7730
Em 23 de janeiro de 2012 11:12, Alysson Gonçalves de Azevedo <
address@hidden> escreveu:
> então bro, vê se fica bom assim, substituir suas 2 funções por apenas 1.
>
> v_ARQUIVO="/etc/squid3/squid.conf"
> v_DATA=$(date +%Y%m%d-%T)
> function func_ACL_SQUID(){
> case "$1" in
> "--disable") sed -i"*.${v_DATA}" 's/^http_access allow $2/#&/' $v_
> ARQUIVO;;
> "--enable") sed -i"*.${v_DATA}" 's/^#\(http_access allow .*\)/\1/g' $
> v_ARQUIVO;;
> esac
> $v_CMD_SQUID -k reconfigure
> }
>
> isso ai faz tudo que o outro script fazia, porém, usando o primeiro param
> para indicar se é enable ou disable.
> o arquivo de backup ficara "squid.conf.20120123-10:58:35", por exemplo,
> pq o sed só deixa acrescentar sufixos, não prefixos.
>
> dae o resto vc adapta como achar melhor.
>
>
> Alysson Gonçalves de Azevedo
> (11) 8491-7730
>
>
>
> Em 20 de janeiro de 2012 11:08, Flavio Alexandre Reis <
> address@hidden> escreveu:
>
> **
>>
>>
>> Ei Alysson
>> valeu pela resposta...
>> vc faz em script ? ou direto no terminal ?
>> fiz um solucao parcial que me atendeu, agora irei buscar uma solução mais
>> inteligente... uma delas é usar o -i no sed... asism evito ficar copiando
>> arquiv pra la e pra cá...
>>
>> olha só
>>
>> #################################################################
>> # ACLS SQUID
>>
>> v_vLAN_FAA_ACD_L01="vLAN_FAA_ACD_L01";
>> v_vLAN_FAA_ACD_L02="vLAN_FAA_ACD_L02";
>> v_vLAN_FAA_ACD_L03="vLAN_FAA_ACD_L03";
>> v_vLAN_FAA_ACD_WIF="vLAN_FAA_ACD_WIF";
>>
>> v_PATH='/etc/squid3/';
>> v_ARQUIVO='squid.conf'
>> v_SUFIXO_TMP='_tmp';
>> v_SUFIXO_OLD='_old';
>>
>> v_DATA=$(date +%Y%m%d-%T)
>>
>> function func_DISABLE_ACL_SQUID(){
>> cp $v_PATH$v_ARQUIVO $v_PATH$v_DATA.$v_ARQUIVO
>> sed -e "s/http_access allow $1/#http_access allow $1/"
>> $v_PATH$v_ARQUIVO >> $v_PATH$v_ARQUIVO$v_SUFIXO_TMP
>> mv $v_PATH$v_ARQUIVO $v_PATH$v_ARQUIVO$v_SUFIXO_OLD
>> mv $v_PATH$v_ARQUIVO$v_SUFIXO_TMP $v_PATH$v_ARQUIVO
>> $v_CMD_SQUID -k reconfigure
>> rm $v_PATH$v_ARQUIVO$v_SUFIXO_OLD
>> }
>> function func_ENABLE_ACL_SQUID(){
>> cp $v_PATH$v_ARQUIVO $v_PATH$v_DATA.$v_ARQUIVO
>> sed -e "s/#http_access allow $1/http_access allow $1/"
>> $v_PATH$v_ARQUIVO >> $v_PATH$v_ARQUIVO$v_SUFIXO_TMP
>> mv $v_PATH$v_ARQUIVO $v_PATH$v_ARQUIVO$v_SUFIXO_OLD
>> mv $v_PATH$v_ARQUIVO$v_SUFIXO_TMP $v_PATH$v_ARQUIVO
>> $v_CMD_SQUID -k reconfigure
>> rm $v_PATH$v_ARQUIVO$v_SUFIXO_OLD
>>
>> }
>>
>> []s
>>
>>
>> -------------------------------------
>> Flávio Alexandre dos Reis
>> address@hidden
>> LPIC-1
>> Linux user #481115
>> Ubuntu user #24388
>> Juiz de Fora - MG
>>
>> ________________________________
>> De: Flavio Alexandre Reis <address@hidden>
>> Para: "address@hidden" <address@hidden>
>>
>> Enviadas: Quinta-feira, 19 de Janeiro de 2012 9:13
>> Assunto: [shell-script] Comentar linha de arquivo com o sed
>>
>>
>>
>> Prezados,
>>
>> bom dia
>>
>> Estou criando um scriptr que posso me auxiliar a comentar linhas de um
>> detarminado arquivo... (squid.conf)
>> Fiz alguns testes e com o sed e deram certo... porem agora em testes
>> finais nao deu certo con quando as linhas tem espaço... a seguir descrevo
>> parte do arquivo.conf e uma parte do script... se aguem puder me dar um
>> help...
>>
>> trecho do squid.conf que tenho que comentar, irei passar a linha como
>> parametro de uma funcao...
>>
>> http_access allow vLAN_FAA_ACD_L01
>> http_access allow vLAN_FAA_ACD_L02
>> http_access allow vLAN_FAA_ACD_L03
>> http_access allow vLAN_FAA_ACD_WIF
>>
>> #!/bin/bash
>>
>>
>> v_01='http_access allow vLAN_FAA_ACD_L01';
>> v_02='http_access allow vLAN_FAA_ACD_L02';
>> v_03='http_access allow vLAN_FAA_ACD_L03';
>>
>> v_DATA=$(date +%Y%m%d)
>>
>> function f_COMENTARIO(){
>> cp arq.conf $v_DATA.arq.conf
>> sed -e 's/'$1'/#'$1'/g' arq.conf >>
>> arq.conf_tmp
>> mv arq.conf arq.conf_old
>> mv arq.conf_tmp arq.conf
>>
>> rm arq.conf_old
>> }
>>
>> f_COMENTARIO $v_01
>>
>> Porem do jeito que ta ai ele ta comentando todas as linhas, ele rta
>> pegando até o primeiro espaço...
>>
>> desde já agradeço a todos
>>
>> []s
>>
>> -------------------------------------
>> Flávio Alexandre dos Reis
>> address@hidden
>> LPIC-1
>> Linux user #481115
>> Ubuntu user #24388
>> Juiz de Fora - MG
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>
>
[As partes desta mensagem que não continham texto foram removidas]