使用 sed 命令替换行

使用 sed 命令替换行

有一个文件sample.txt。该文件的内容是

..some content...
### [http]
# [http]

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

..some content...
### [http]
[http]

我想用命令来做sed。那么确切的命令是什么?

答案1

尝试这个

sed -i 's/^# //' file1

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

如果您只想替换# [http][http],则使用

sed -i 's/^# \[http]/[http]/' file1

答案2

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

sed -i 's/^# *\(\[http]\)/\1/' file

输出:

..some content...
### [http]
[http]

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

相关内容