He buscado en los foros pero siendo novato no encuentro algo que pueda entender.
Estoy intentando crear un script que edite 3 líneas específicas del texto, lo guarde y ejecute el comando de reinicio del servicio. Esto se hace para el control de los ventiladores. Todavía no he encontrado una GUI, así que edito manualmente las velocidades ya que es verano y durante el día necesito velocidades de ventilador más altas.
Antes de que alguien diga que se base en la temperatura, quiero que la temperatura se mantenga por debajo de cierto grado y durante la noche una velocidad más baja del ventilador está bien, por lo que es algo imposible.
sudo nano /etc/fancontrol
sudo service fancontrol restart
Comandos que ejecuto a diario pero me aburrí de editarlos todo el tiempo. Digamos que podría usar 2 scripts (uno con velocidades de ventilador más altas y otro con velocidades más bajas) y ejecutarlos de forma manual o automática a una hora específica.
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/it87.2608
DEVNAME=hwmon1=coretemp hwmon2=it8728
FCTEMPS=hwmon2/pwm2=hwmon2/temp2_input hwmon2/pwm3=hwmon1/temp4_input
FCFANS=hwmon2/pwm2=hwmon2/fan2_input hwmon2/pwm3=hwmon2/fan1_input
MINTEMP=hwmon2/pwm2=10 hwmon2/pwm3=25
MAXTEMP=hwmon2/pwm2=80 hwmon2/pwm3=55
MINSTART=hwmon2/pwm2=**220** hwmon2/pwm3=210
MINSTOP=hwmon2/pwm2=**200** hwmon2/pwm3=200
MAXPWM=hwmon2/pwm2=**220** hwmon2/pwm3=255
Los valores en negrita son los que necesito cambiar.
¡¡¡Gracias de antemano chicos!!!
Respuesta1
Puede usar el sed
comando para editar un archivo usando un comando. Por ejemplo,
sed -i 's/MINSTART=hwmon2\/pwm2=220/MINSTART=hwmon2\/pwm2=400/' /etc/fancontrol
cambiará el valor 220
a 400
.
s
significa "buscar". Después del delimitador /
que separa el comando en partes, sigue la cadena a buscar, hasta la siguiente (sin escape) /
. Es \/
un carácter de escape /
, lo que significa: "interprete next /
como un carácter literal que pertenece a la cadena de búsqueda en lugar de como un delimitador para las diferentes partes del comando. Luego sigue la cadena con la que reemplaza, terminada con /
. Después de terminar /
, puede agregar Una importante es g
, lo que significa que cualquier aparición debe reemplazarse. De forma predeterminada, solo se reemplaza la primera aparición.
Hacer que la cadena de búsqueda sea específica disminuye la posibilidad de que también coincida con algo más en el archivo.