Я искал информацию на форумах, но, будучи новичком, не смог найти ничего, что было бы мне понятно.
Я пытаюсь создать скрипт, который редактирует 3 определенные строки в тексте, сохраняет их и запускает команду перезапуска для службы. Это делается для управления вентилятором. Я пока не нашел GUI, поэтому я вручную редактирую скорости, так как сейчас лето, и днем мне нужны более высокие скорости вентилятора.
Прежде чем кто-то скажет, что нужно сделать его зависящим от температуры, я хочу, чтобы температура оставалась ниже определенного градуса, а ночью можно было бы снизить скорость вращения вентилятора, так что это практически невозможно.
sudo nano /etc/fancontrol
sudo service fancontrol restart
команды, которые я запускаю ежедневно, но мне надоело постоянно их редактировать. Допустим, я мог бы использовать 2 скрипта (один с более высокой, а другой с более низкой скоростью вращения вентилятора) и запускать их вручную или автоматически в определенный час.
# 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
Мне нужно изменить выделенные жирным шрифтом значения.
Спасибо заранее, ребята!!!
решение1
Вы можете использовать sed
команду для редактирования файла с помощью команды. Например,
sed -i 's/MINSTART=hwmon2\/pwm2=220/MINSTART=hwmon2\/pwm2=400/' /etc/fancontrol
изменит значение 220
на 400
.
s
означает «поиск». После разделителя /
, который разделяет команду на части, следует строка для поиска, до следующего (не экранированного) /
. \/
Это экранированный /
, что означает: «интерпретировать следующий /
как буквальный символ, принадлежащий строке поиска, а не как разделитель для различных частей команды». Затем следует строка, на которую вы заменяете, заканчивающаяся /
. После завершающего /
, вы можете добавлять параметры. Важным является g
, который означает, что любое вхождение должно быть заменено. По умолчанию заменяется только первое найденное вхождение.
Конкретизация строки поиска снижает вероятность того, что она также будет соответствовать чему-то другому в файле.