[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Alterar apenas uma unica ocorrencia no texto
From: |
Diego |
Subject: |
Re: [shell-script] Alterar apenas uma unica ocorrencia no texto |
Date: |
Mon, 12 Jul 2004 10:50:41 -0300 (ART) |
Hey !
Bom Aurelio, não sei se estou fazendo algo errado, mas não funcionou do jeito
que vc me passou.... deve ser pq o processamento mental é lento e está em fase
de aprendizado hehehe.... ai vai a parte do codigo onde preciso disso....
#!/bin/bash
...
#ALTERA NOMES DA LISTA
4) echo -n "Nome a ser modificado: "
read NOMEANTIGO #NOME A SER ALTERADO
echo -n "Novo nome: "
read NOMENOVO #NOVO NOME
FILE=/dsk1/users/diego/dados.sh
TMPFILE=/dsk1/users/diego/dadostemp.tmp
echo "Entradas com a string a ser alterada no arquivo: "
cat dados.sh | grep $NOMEANTIGO
if [ $? -ne 0 ]; then
echo " #### NENHUMA OCORRENCIA ENCONTRADA #### "
break
else
sleep 1
CONDICAO=0
while [ $CONDICAO -eq 0 ]
do
sed "1,/$NOMEANTIGO/ s/$NOMEANTIGO/$NOMENOVO/" $FILE >$TMPFILE
if [ $? -ne 0 ]; then
exit
fi
diff dados.sh dadostemp.tmp
echo -n "Deseja realizar esta alteracao (s/n) ? "
read OPCAO
case $OPCAO in
s) mv $TMPFILE $FILE
cat $FILE | grep $NOMEANTIGO
if [ $? -ne 0 ]; then
echo " ### SEM MAIS ALTERACOES ### "
sleep 1
clear
break
fi
echo "Deseja continuar (s/n) ? "
read OPCAO
case $OPCAO in
s) ;;
n) CONDICAO=1;;
esac;;
n) echo " ### SEM ALTERACOES ### "
sleep 1
clear
break;;
esac
done
fi
;;
....
##########################################################
Aurelio Marinho Jargas <address@hidden> wrote:
oi diego,
--- Diego <address@hidden> escreveu:
> Preciso saber como fazer para alterar apenas uma unica
> ocorrencia de "velho" por "novo" em um arquivo.
> Eu estou usando:
> sed -e "s/velho/novo/" arquivo
troque para:
sed '1,/velho/ s/velho/novo/' arquivo
# ^endereço ^comando
o extra que coloquei é o endereço, que indica para que esta
substituição fique restrita à area que começa na primeira
linha do arquivo (1) até a primeira linha que tiver a
string "velho".
falou!
=====
--
Aurelio Marinho Jargas, Curitiba, Conectiva
txt2tags v2.0 beta3 http://txt2tags.sf.net/beta/
_______________________________________________________
Yahoo! Mail agora com 100MB, anti-spam e antivírus grátis!
http://br.info.mail.yahoo.com/
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Yahoo! Grupos, um serviço oferecido por: São Paulo Rio de Janeiro Curitiba
Porto Alegre Belo Horizonte Brasília
---------------------------------
Links do Yahoo! Grupos
Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
Para sair deste grupo, envie um e-mail para:
address@hidden
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
Yahoo!.
[]'s
Diego Rozzini Pires
ICQ 253999357
MSN Messenger address@hidden
---------------------------------
Yahoo! Mail agora ainda melhor: 100MB, anti-spam e antivírus grátis!
[As partes desta mensagem que não continham texto foram removidas]