# deb http://archive.canonical.com/ubuntu lucid partner
# deb-src http://archive.canonical.com/ubuntu lucid partner
来自/etc/apt/sources.list
的行。有多行。如何使用bash脚本取消注释2行以上。
答案 0 :(得分:6)
我会说
sed -e "s/^# deb/deb/g" /etc/apt/sources.list
而不是
sed -e "s/^# //g" /etc/apt/sources.list
因为第二个sed命令将取消注释这样的行:
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
答案 1 :(得分:2)
accepted answer from @m0ntassar有效,但它会取消注释以# deb
开头的所有行,这些行可能会打开对您不希望或不需要访问的存储库的访问权限
相反,我建议定位以下行:
deb
开头但以#
注释掉的行:# deb
。partner
结尾的行。所以我建议的Sed命令如下:
sed -e "/^#.*deb.*partner$/s/^# //g" /etc/apt/sources.list
使用-e
命令的命令会显示输出,但-i
标志会编辑文件:
sudo sed -i "/^#.*deb.*partner$/s/^# //g" /etc/apt/sources.list
在此示例中将其作为sudo
运行,因为在适当的位置编辑需要sudo
权限。
答案 2 :(得分:1)
您可以使用sed替换#
sed -e "s/^# //g" /etc/apt/sources.list