FIND + SED - Não funciona como esperado [RESOLVIDO]

1. FIND + SED - Não funciona como esperado [RESOLVIDO]

leonardo silva
leo291

(usa Outra)

Enviado em 17/08/2016 - 07:21h

Bom dia, caros colegas tenho a necessidade de rodar um script, que vasculhe determinadas pastas a procura de determinados arquivos e ao encontrá-lo faça uma substituição da linha inteira por outra frase que desejo, o comando que tenho abaixo funciona na teoria e me retorna o resultado "esperado", entre aspas mesmo, pois quando abro o arquivo a linha continua intacta.


#! /bin/sh

I=$(find /home -maxdepth 7 -iname desktop-items-0.conf -exec sed '6s/.*/teste/' {} \;)
echo "$I"


Resultado:
root@virtual:/home/administrador/Área de Trabalho# ./Novo.sh
[*]
wallpaper_mode=stretch
wallpaper_common=1
wallpapers_configured=1
wallpaper0=/PersonalizarLubuntuJati/FUNDO.jpg
teste
desktop_bg=#2e4060
desktop_fg=#ffffff
desktop_shadow=#000000
desktop_font=Ubuntu 11
show_wm_menu=0
sort=mtime;ascending;
show_documents=0
show_trash=1
show_mounts=1


Se alguem por acaso ja passou por essa necessidade ou alguma parecida, qual seria a melhor maneira de resolver.

Obrigado, aguardando pela ajuda.





  


2. Re: FIND + SED - Não funciona como esperado [RESOLVIDO]

leonardo silva
leo291

(usa Outra)

Enviado em 17/08/2016 - 11:24h

leo291 escreveu:

Bom dia, caros colegas tenho a necessidade de rodar um script, que vasculhe determinadas pastas a procura de determinados arquivos e ao encontrá-lo faça uma substituição da linha inteira por outra frase que desejo, o comando que tenho abaixo funciona na teoria e me retorna o resultado "esperado", entre aspas mesmo, pois quando abro o arquivo a linha continua intacta.


#! /bin/sh

I=$(find /home -maxdepth 7 -iname desktop-items-0.conf -exec sed '6s/.*/teste/' {} \;)
echo "$I"


Resultado:
root@virtual:/home/administrador/Área de Trabalho# ./Novo.sh
[*]
wallpaper_mode=stretch
wallpaper_common=1
wallpapers_configured=1
wallpaper0=/PersonalizarLubuntuJati/FUNDO.jpg
teste
desktop_bg=#2e4060
desktop_fg=#ffffff
desktop_shadow=#000000
desktop_font=Ubuntu 11
show_wm_menu=0
sort=mtime;ascending;
show_documents=0
show_trash=1
show_mounts=1


Se alguem por acaso ja passou por essa necessidade ou alguma parecida, qual seria a melhor maneira de resolver.

Obrigado, aguardando pela ajuda.




Consegui a resposta no forum estrangeiro stackoverflow, estava faltando um tracinho i, depois do sed e o comando ficou assim
#! /bin/sh

I=$(find /home -maxdepth 7 -iname desktop-items-0.conf -exec sed -i '6s/.*/teste/' {} \;)
echo "$I"[/code][/b]

link:
http://stackoverflow.com/questions/38998055/find-sed-not-working-as-expected






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts