Sed Alterar conteudo do arquivo sem abri-lo [RESOLVIDO]

1. Sed Alterar conteudo do arquivo sem abri-lo [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/12/2014 - 11:13h

Ola, estou tentando alterar o conteudo de um arquivo sem abri-lo.


segue solicitação

tenho um arquivo com o nome exemplo

nele ha uma linha com o conteudo
#Banner /some/path

preciso alterar esta linha por esta linha

banner /etc/issu


estou fazendo o comando sed -i 's/\#banner \/some/path/\/etc/issu/g' nomedoarquivo


porem nao esta dando certo, alguem sabe como faço?




  


2. Re: Sed Alterar conteudo do arquivo sem abri-lo [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/12/2014 - 15:37h

Descrição confusa, no início você disse que seu arquivo chamava-se "exemplo", depois quando apresentou o comando o arquivo chama-se "nomedoarquivo", como não postou nenhuma mensagem de erro poderia até dizer que o problema é este mas é possível notar que faltou incluir o modificador 'i' para o comando 's' porque você escreveu com maiúscula no arquivo e com minúscula no comando além de ter faltado escapar algumas barras nos paths. Sugestão: mude os delimitadores do comando 's' do sed sempre que isto ocorrer, fica mais fácil e mais legível também. Exemplo:

$ sed -i.bkp ''s|#banner /some/path|/etc/issu|i' seu_arquivo.txt

Coloquei um -i.bkp para criar uma cópia do arquivo com a extensão '.bkp' se julgar desnecessário remova-a. Você não precisa do modificador 'g' porque o padrão ocorre apenas uma vez na linha.



3. Re: Sed Alterar conteudo do arquivo sem abri-lo [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 18/12/2014 - 21:28h

textmode escreveu:

Exemplo:

$ sed -i.bkp ''s|#banner /some/path|/etc/issu|i' seu_arquivo.txt

Coloquei um -i.bkp para criar uma cópia do arquivo com a extensão '.bkp' se julgar desnecessário remova-a. Você não precisa do modificador 'g' porque o padrão ocorre apenas uma vez na linha.


Desta forma tem que funcionar...
ps: Se está lidando com modificações em diretórios, procure ter certeza se estão em caixa baixa ou não. Se bem que os nomes citados estão sempre nas distribuições linux em caixa baixa.

ps2: "Sed Alterar conteudo do arquivo sem abri-lo"
A única forma que conheço de alterar dados de um arquivo sem abri-lo é gerar uma cópia fiel do rebento. Depois abri-lo para gerar a alteração desejada. O sed é um dos únicos utilitários que permite abertura parcial de dados em arquivos. Mas geralmente usado para consulta e passar os dados de filtro a outro arquivo ou pipe.




4. Re: Sed Alterar conteudo do arquivo sem abri-lo [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/12/2014 - 08:10h

Valeu Pessoal, consegui .


5. Re: Sed Alterar conteudo do arquivo sem abri-lo [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 19/12/2014 - 08:21h

rafaelsilvaa10 escreveu:

Valeu Pessoal, consegui .


Se puder, marque a melhor resposta ao textmode

descontração: http://www.vivaolinux.com.br/topico/Off-Code-Cafe/o-que-voce-esta-ouvindo-agora?pagina=222#2660






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts