[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[ot] sed localizar/substituir com caracteres especiais



E ai pessoal, blz?


bom, seguinte quero substituir isso:

jjunior:$1$VyzzTIwz$/y750LY/2CQyKMD8ONlQY/:13816:0:99999:7


por isso:

jjunior:$2a$10$EA8yiucQjmLCZN/ogamxA.dsrDOGoo.gaytWYhbvCuUB/1TESTE

isso eh p sincronizar o password do usuario entre 3 maquinas pega o
mais recente e substitui o mais velho.

fiz um script pra isso que esta ai abaixo, mas o problema sao as
barras dentro da string do sed. Alguem sabe como contornar este
problema?

#!/bin/bash
#programa para sincronizacao dos passwordsdos usuarios autor denis.

for i in `diff -y --suppress-common-lines /etc/shadow
/etc/shadow_new|tr -d [:blank:]|tr "|" "%"`;
        do
        echo atualizando o valor:
        echo $i
        read
         antigo=`echo $i |cut -d "%" -f 2`
         novo=`echo $i |cut -d "%" -f 1`
         echo "sera colocado $novo no lugar de $antigo no arquivo
/etc/shadow_new \n"
        echo "Prosseguir?"
        read
        sed -i "s/$antigo/$novo/g" /etc/shadow_new
        done;


tentei colocar as strings entr 'xx'  e entre "xx" mas nao foi.

valeu!



Reply to: