sed -i 's|~/deleted|"$defaultpath"|g' file.sh
Explicação:
-
-idiz asedpara modificar o arquivo no lugar. -
s|~/deleted|"$defaultpath"|gdizsedpara substituir~/deletedpor"$defaultpath"onde quer que o encontre.
Recurso extra: preservar ~ / deletado na terceira linha
Você não solicitou isso, mas, em seu script de exemplo, seria interessante deixar ~/deleted inalterado na terceira linha em que é usado para definir defaultpath . Para alterar todas as instâncias de ~/deleted exceto aquela na terceira linha, use:
sed -i -e '3n' -e 's|~/deleted|"$defaultpath"|g' file.sh
Isso adiciona o único sed command 3n , que informa sed para pular a terceira linha.