使用bash脚本取消注释行
上面的行来自使用bash脚本取消注释行,bash,Bash,上面的行来自/etc/apt/sources.list。有多行。如何使用bash脚本取消以上两行的注释。您可以使用来替换# 我得说 sed -e "s/^# //g" /etc/apt/sources.list 而不是 sed -e "s/^# deb/deb/g" /etc/apt/sources.list 因为第二个sed命令将取消注释行,例如: sed -e "s/^# //g" /etc/apt/sources.list 这是可行的,但它将取消注释所有以#deb开头的行,这可
/etc/apt/sources.list
。有多行。如何使用bash脚本取消以上两行的注释。您可以使用来替换#
我得说
sed -e "s/^# //g" /etc/apt/sources.list
而不是
sed -e "s/^# deb/deb/g" /etc/apt/sources.list
因为第二个sed命令将取消注释行,例如:
sed -e "s/^# //g" /etc/apt/sources.list
这是可行的,但它将取消注释所有以#deb
开头的行,这可能会打开对不想要或不需要访问的存储库的访问
相反,我建议将目标线定为:
deb
开头但用
注释掉的行,如下所示:#deb
合作伙伴
结尾的行# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
带有-e
命令的该命令将显示输出,但-i
标志将在位编辑文件:
sed -e "/^#.*deb.*partner$/s/^# //g" /etc/apt/sources.list
在本例中,将其作为
sudo
运行,因为就地编辑需要sudo
权限。只需对其进行一次mathc,因此您可以在sed命令中保留g
。我不确定,但是我的sed通过使用附加的-I
作为sed参数来接受就地更改。如果要保存原始文件,应该像sed-i.bak-e'..'文件名那样调用sed
如果锚定到行首,则无需使用g
选项—它只能匹配一次。
sed -e "/^#.*deb.*partner$/s/^# //g" /etc/apt/sources.list
sudo sed -i "/^#.*deb.*partner$/s/^# //g" /etc/apt/sources.list