Edite um arquivo em / etc usando o shell script?

1

Como uso o sed para editar o arquivo /etc/heat/heat.conf ?

Eu quero adicionar as novas linhas na seção padrão

[DEFAULT]
rabbit_host =controller
rabbit_password =RABBIT_PASS
    
por bpamz 07.10.2014 / 12:24

2 respostas

3

Você pode usar um endereço /regexp/ para encontrar a linha que contém [DEFAULT] e, em seguida, um comando de acréscimo ( a ) para adicionar linhas abaixo dela. Passe -i para sed para modificá-lo no local (talvez você queira executar sem primeiro para ter certeza de que está fazendo a coisa certa; ele exibirá como o arquivo alterado ficará sem alterá-lo) :

# sed -i '/^\[DEFAULT\]$/a rabbit_host =controller\nrabbit_password =RABBIT_PASS' /etc/heat/heat.conf
    
por 08.10.2014 / 21:00
2

se você tiver um arquivo /tmp/a com o contnet

hello my friend

Você pode usar sed para substituir strings:

sed -i 's/hello/hi/g' /tmp/a

isso resultará em:

hi my friend

veja: man sed

Além disso, você pode adicionar linhas sem sed a um arquivo usando >> :

echo "I like you">>/tmp/a
    
por 08.10.2014 / 18:23