lew*_*s4u 21 command-line bash scripts sed
我正在为我的虚拟机构建一个 bash 脚本,我想知道如何替换本文档中的特定行:
[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
Run Code Online (Sandbox Code Playgroud)
这一行:
# autologin=dgod
Run Code Online (Sandbox Code Playgroud)
我想改成这个
autologin=ubuntu
Run Code Online (Sandbox Code Playgroud)
我尝试过“tee”和“sed”,但无法使其工作。对于比我更经常使用 bash 脚本的人来说,这应该很容易。
Zan*_*nna 33
这很简单。使用s命令 insed进行搜索和替换。
sed 's/# autologin=dgod/autologin=ubuntu/' /path/to/file
Run Code Online (Sandbox Code Playgroud)
如果您看到您想要的内容,请添加-i以更改文件到位
sed -i 's/# autologin=dgod/autologin=ubuntu/' /path/to/file
Run Code Online (Sandbox Code Playgroud)
我发现最有效的方法实际上是使用更改语法来设置您想要的确切值,除非您明确尝试启用双向切换。您可以使用它来更改以及取消注释一行,无论它是如何注释的,使用#或//或<!--。
sed 's%searchTerm=% c searchTerm=desiredValue%' targetFile.txt
| 归档时间: |
|
| 查看次数: |
56098 次 |
| 最近记录: |