Я создаю сценарий удара для своей виртуальной машины, и я хотел бы знать, как заменить определенную строку в этом документе:
[base]
## uncomment and set autologin username to enable autologin
# autologin=dgod
## uncomment and set timeout to enable timeout autologin,
## the value should >=5
# timeout=10
## default session or desktop used when no systemwide config
# session=/usr/bin/startlxde
эта строка:
# autologin=dgod
Я хочу измениться на это
autologin=ubuntu
Я попробовал "мишенью" и "sed", но не мог заставить его работать. Это должно быть очень легко для кого-то, кто работает со сценариями удара чаще, чем я.
Это просто. Используйте эти s
команда в sed
, чтобы искать и заменить.
sed 's/# autologin=dgod/autologin=ubuntu/' /path/to/file
, Если Вы видите то, что Вы хотите, добавьте -i
для изменения файла на месте
sed -i 's/# autologin=dgod/autologin=ubuntu/' /path/to/file
Я обнаружил, что наиболее эффективный способ сделать это - использовать синтаксис изменения для установки точного значения, которое вы хотите, если вы явно не пытаетесь включить двустороннее переключение. Вы можете использовать это, чтобы изменить, а также раскомментировать строку независимо от того, как она прокомментирована, с помощью #
или //
или .
sed 's% searchTerm =% c searchTerm = желаемое значение%' targetFile.txt