Sed substituir linha específica no arquivo

3

Estou criando um script básico para minha máquina virtual e gostaria de saber como substituir uma linha específica neste documento:

[base]

## uncomment and set autologin username to enable autologin
# autologin=dgod

## uncomment and set timeout to enable timeout autologin,

## the value should >=5

# timeout=10

## default session or desktop used when no systemwide config

# session=/usr/bin/startlxde

esta linha:

# autologin=dgod

Eu quero mudar para isso

autologin=ubuntu

Eu tentei com "tee" e "sed", mas não consegui fazê-lo funcionar. Isso deve ser muito fácil para alguém que trabalha com scripts bash com mais frequência do que eu.

    
por lewis4u 15.10.2016 / 10:44

1 resposta

7

É simples. Use o comando s em sed para pesquisar e substituir.

sed 's/# autologin=dgod/autologin=ubuntu/' /path/to/file

Se você ver o que deseja, adicione -i para alterar o arquivo no lugar

sed -i 's/# autologin=dgod/autologin=ubuntu/' /path/to/file
    
por Zanna 15.10.2016 / 10:49