Substituir a palavra no arquivo pelo nome de usuário [duplicado]

1

Estou tentando substituir uma palavra em um arquivo de texto pelo nome de usuário atual. Eu estou tentando fazer isso com "sed" usando $ USER, mas continua escrevendo "$ USER" no arquivo de texto em vez do meu nome de usuário.

sed -i 's/test/$USER/g' ~/.gtkrc-2.0

Alguém pode ajudar? Obrigado antecipadamente.

    
por ovine 29.12.2015 / 02:08

1 resposta

2

As variáveis não são expandidas quando colocadas entre aspas simples. Use aspas duplas:

sed -i "s/test/"$USER"/g" ~/.gtkrc-2.0

Além disso, é uma boa ideia fazer um backup ao modificar o arquivo:

sed -i.bak "s/test/"$USER"/g" ~/.gtkrc-2.0

O arquivo original será mantido como ~/.gtkrc-2.0.bak , o modificado será ~/.gtkrc-2.0 .

    
por heemayl 29.12.2015 / 02:18