首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sed命令替换一行

使用sed命令替换一行
EN

Unix & Linux用户
提问于 2017-05-02 12:30:43
回答 2查看 878关注 0票数 -1

有一个文件sample.txt。此文件的内容为

代码语言:javascript
复制
..some content...
### [http]
# [http]

因此,我必须在#之前删除[http],以便最终修改的文件看起来像

代码语言:javascript
复制
..some content...
### [http]
[http]

我想用sed命令来完成它。那么具体的命令是什么呢?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2017-05-02 12:38:46

尝尝这个

代码语言:javascript
复制
sed -i 's/^# //' file1

因此,它将在每一行的开头搜索#和一个空格,并将其替换为null。

如果您只想用# [http]替换[http],那么请使用

代码语言:javascript
复制
sed -i 's/^# \[http]/[http]/' file1
票数 2
EN

Unix & Linux用户

发布于 2017-05-02 12:37:41

sed方法,仅在#子字符串之前删除[http]

代码语言:javascript
复制
sed -i 's/^# *\(\[http]\)/\1/' file

产出:

代码语言:javascript
复制
..some content...
### [http]
[http]

\1 -指向第一个捕获的组(...)

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/362604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档