Cómo pasar la salida del comando a sed

Cómo pasar la salida del comando a sed

Misedcomando en#Actualizar clave en el archivo de configuración. no obtiene el contenido de la variable$GETKEY ¿Alguien ayúdeme?

  # Get key from output of the website.
  GETKEY=`wget https://www.badips.com/get/key -qO - | awk {'print $9'} | cut -d ":" -f3 | cut -d "}" -f1 | sed 's/\"//g'`
  if [ $? -eq 0 ]
  then

      # Update key in config file.    
      sed -i 's/^\(KEY\s*=\s*\).*$/\1$GETKEY/' Config

  fi

Respuesta1

Las variables no se sustituyen entre comillas simples. Usar:

  sed -ri "s/^(KEY\\s*=\\s*).*$/\\1$GETKEY/" Config

Solía -r​​​​eliminar la necesidad de escapar de los paréntesis, pero las otras barras invertidas deben escaparse entre comillas simples. De lo contrario, puedes mezclar comillas:

  sed -ri 's/^(KEY\s*=\s*).*$/\1'"$GETKEY/" Config

información relacionada