我想启用此文件中的所有apt存储库
cat /etc/apt/sources.list
## Note, this file is written by cloud-init on first boot of an instance
## modifications made here will not survive a re-bundle.
## if you wish to make changes you can:
## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg
## or do the same in user-data
## b.) add sources in /etc/apt/sources.list.d
#
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick main
## Major bug fix updates produced after the final release of the
## distribution.
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-updates main
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-updates main
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick universe
deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
# deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick multiverse
# deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick multiverse
# deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
# deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse
# deb-src http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu maverick partner
# deb-src http://archive.canonical.com/ubuntu maverick partner
deb http://security.ubuntu.com/ubuntu maverick-security main
deb-src http://security.ubuntu.com/ubuntu maverick-security main
deb http://security.ubuntu.com/ubuntu maverick-security universe
deb-src http://security.ubuntu.com/ubuntu maverick-security universe
# deb http://security.ubuntu.com/ubuntu maverick-security multiverse
# deb-src http://security.ubuntu.com/ubuntu maverick-security multiverse
有了sed,这是一个简单的sed -i 's/^# deb/deb/' /etc/apt/sources.list
最优雅的(“pythonic”)方法是什么?
在纯Python中使用no外部命令或附加依赖项创建一个自制的
sed
替换是一项崇高的任务,充满了崇高的地雷。谁会想到呢?尽管如此,这是可行的。这也是可取的。我们都去过那里,人们:“我需要咀嚼一些纯文本文件,但我只有Python,两个塑料鞋带,和一罐发霉的地堡级马拉希诺樱桃。帮助。”
在这个答案中,我们提供了一个最佳的解决方案,将先前答案的令人不快的地方拼凑在一起,而不是令人不快的地方。正如plundra所指出的,David Miller的otherwise top-notch answer以非原子的方式写入所需的文件,因此会引发竞争条件(例如,来自其他试图同时读取该文件的线程和/或进程)。真糟糕。Plundra的otherwise excellent answer解决了这个问题,同时引入了更多的错误,包括许多致命的编码错误、一个关键的安全漏洞(无法保留原始文件的权限和其他元数据)以及过早的优化,用低级字符索引替换正则表达式。那也不好。
太棒了,团结起来!
massedit.py(http://github.com/elmotec/massedit)为您搭建脚手架,只留下要编写的regex。它仍在测试阶段,但我们正在寻找反馈。
将以差异格式显示差异(之前/之后)。
添加-w选项以将更改写入原始文件:
或者,现在可以使用api:
你可以这样做:
with语句确保文件正确关闭,在
"w"
模式下重新打开文件会在写入文件之前清空该文件。sub(pattern,replace,string)与sed/perl中的s/pattern/replace/等价。编辑:示例中的固定语法
相关问题 更多 >
编程相关推荐