Ami*_*IRI 4 bash sed archlinux
我的自定义安装脚本实际上正对着墙。
在脚本的一点上,我需要为64位计算机启用64位存储库,并且(例如)我需要从该格式获取:
#multilib-testing[...]
#include[...]
#multilib[...]
#include[...]
Run Code Online (Sandbox Code Playgroud)
以这种格式
#multilib-testing[...]
#include[...]
multilib[...]
include[...]
Run Code Online (Sandbox Code Playgroud)
但是,正如您所看到的,到处都有包含,我不能使用sed,因为它会递归删除该特定文件的所有“包含”,这不是我想要的...
我似乎找不到sed的解决方案。我尝试了在另一个线程上看到的东西
cat /etc/pacman.conf | grep -A 1 "multilib"
Run Code Online (Sandbox Code Playgroud)
但是我做得不好,我没有选择...
理想情况下,我希望获得一个sed解决方案(但是,只要您解释一下,请随时告诉我还有哪些其他选择!)。
模式(和开始)应该是这样的:
sed -i '/multilib/ s/#//' /etc/pacman.conf
Run Code Online (Sandbox Code Playgroud)
并且对于模式和之后的行(包含在内)应该是有效的。
此外,如果您能在实际学习中真正教给我您为什么这样做或那样做,并且如果我不知道为什么会那样做,我将不记得某件事,我将感到高兴。(也请原谅我的英语中期)。
小智 5
我们可以使用它来按模式匹配范围。然后,我们可以匹配#每行开头的并将其删除。
sed -i "/\[multilib\]/,/Include/"'s/^#//' /etc/pacman.conf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
328 次 |
| 最近记录: |