[shell-script] Alterar texto
Tenho um texto com 1 linhas onde tenho a seguinte situção."Texto texto. texto texto texto texto (continua . . .)" Como faço para sempre que ocorrer a string ". texto "(ponto espaço texto) eu tranforme o "t" logo após o espaço em "T", ou seja , "Texto texto. Texto texto texto texto . . .". Consigo fazer com o sed informando todos os casos sed 's/\. a/\. A/g', sed 's/\. b/\. B/g' . . . Existe uma forma mais elegante ?
Re: [shell-script] Alterar texto
$ sed 's/\.\ [a-z]/\U&/g' arquivo.txt -- Flávio do Carmo Júnior aka waKKu 2008/7/1 Anderson <[EMAIL PROTECTED]>: > Tenho um texto com 1 linhas onde tenho a seguinte situção."Texto > texto. texto texto texto texto (continua . . .)" Como faço para sempre > que ocorrer a string ". texto "(ponto espaço texto) eu tranforme o "t" > logo após o espaço em "T", ou seja , "Texto texto. Texto texto texto > texto . . .". > Consigo fazer com o sed informando todos os casos sed 's/\. a/\. A/g', > sed 's/\. b/\. B/g' . . . Existe uma forma mais elegante ? > >
[shell-script] Problemas com Sed e "Ou"
Boa tarde, estou com um problema no seguinte script: #!/usr/bin/bash #set -v # Define o range que sera utilizado na busca srcDate=$(/xxx//xx/TimeRetrieval.pl -17400 | cut -c-15) rm Report.out 2> /dev/null for log in `cat logsIN`;do type=IN logFile=$(echo $log|cut -f1 -d,) srcPattern=$(echo echo $log|cut -f2 -d","|sed 's/-/ /g') count=$(cd /zzz/yyy; egrep -c "XXX.*$srcDate.*$srcPattern" $logFile) echo ${logFile}_${type}=${count} >> Report.out done; for log in `cat logsOUT`;do type=OUT logFile=$(echo $log|cut -f1 -d,) srcPattern=$(echo echo $log|cut -f2 -d","|sed 's/-/ /g') count=$(cd /zzz/yyy; egrep -c "XXX.*$srcDate.*$srcPattern" $logFile) echo ${logFile}_${type}=${count} >> Report.out done; # envia o e-mail para o destinatario definido em "recipient" [EMAIL PROTECTED] mail $recipient << ENDMAIL To: $recipient Subject: `hostname` - Monitoring Script `cat zrpReport.out | sed -e 's/(IDKFA|XYQ|XBBQ|\.log)//g'` # PROBLEMA ENDMAIL __ O problema se dá na hora do sed, que não está processando o "ou" O arquivo zrpReport segue o seguinte padrão: $ cat Report.out IDKFAasdfgkklhXBBQ.log_OUT=0 asdfgXYQ.log_OUT=0 E no sed eu preciso remover: IDKFA,XYQ,XBBQ e .log e algum outro padrao que eu vá adicionar Algum norte a respeito disso? O sed simplesmente não funciona. -- Obrigado, Christian Gabriel [As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Problemas com Sed e "Ou"
> > `cat zrpReport.out | sed -e 's/(IDKFA|XYQ|XBBQ|\.log)//g'` # PROBLEMA > > O problema se dá na hora do sed, que não está processando o "ou" > $(sed -re 's/(IDKFA|XYQ|XBBQ|\.log)//g' zrpReport.out) você precisa escapar os parenteses ou usar -r. -- Reinaldo de Carvalho http://korreio.sf.net http://python-cyrus.sf.net
Re: [shell-script] Problemas com Sed e "Ou"
Muito obrigado, o script agora funcionou perfeitamente! 2008/7/1 Reinaldo de Carvalho <[EMAIL PROTECTED]>: > > > > `cat zrpReport.out | sed -e 's/(IDKFA|XYQ|XBBQ|\.log)//g'` # PROBLEMA > > > > O problema se dá na hora do sed, que não está processando o "ou" > > > > $(sed -re 's/(IDKFA|XYQ|XBBQ|\.log)//g' zrpReport.out) > > você precisa escapar os parenteses ou usar -r. > > -- > Reinaldo de Carvalho > http://korreio.sf.net > http://python-cyrus.sf.net > > -- Obrigado, Christian Gabriel [As partes desta mensagem que não continham texto foram removidas]