Fala Rezende,
a diferença entre as aspas (") e a apóstrofe (') é que se algo estiver entre
apóstrofes o shell não interpreta nada, trata tudo como uma cadeia, ao passo
que entre aspas o shell interpreta o cifrão ($), a crase (`) e a contrabarra
(\). Assim sendo, se vc está usando uma variável, use aspas e não
apóstrofes.Porém existe outro erro na sintaxe do seu sed. Desconfio que o que vc quer fazer é: sed -i "s/$nome/nome_na_agenda/g" agenda.dat isto é, coloque o i como uma opção (-i) e usei o cmd substitui (s) Abraços, Julio Em 10/11/07, rznde <[EMAIL PROTECTED]> escreveu: > > Saudações a todos. > > Pergunto --É possível capturar através do sed uma variável emitida > pelo read -p > > cat agenda.dat > Antonio Carlos da Silva - Fone: 2222-3333 > José Antonio da Costa - Fone: 4444-5555 > > -> read -p "Entre com o nome a alterar" nome > -> grep -i $nome agenda.dat > -> sed 'i/$nome/nome_na_agenda/g' agenda.dat > > Desejo implementar a parte da agenda para alterar nomes dos contatos > e respectivos telefones do arquivo agenda.dat . > Esbarro-me no problema da variável ter de ser > acompanhada do cifrão $nome_na_agenda e o sed, de modo diverso do > grep, tem recusado entrada dessa maneira. > > Assim, precisava encontrar um modo de contornar essa situação. > Ou seja, pesquisar a existência dessa variável na agenda.dat e, se > existente, alterá-la. Já pesquisei material publicado na internet, e > nesse sentido não encontrei o que preciso. > > Agradeço antecipamente a atenção de todos. > > Rezende - SP > > > -- Abraços, Julio http://www.julioneves.com - Um livro sobre Bash completo e on-line :wq [As partes desta mensagem que não continham texto foram removidas]
