BASH替换一条线

时间:2013-01-04 13:14:29

标签: bash sed

如何用bash脚本中的空行替换匹配特定模式的行?

例如:

-hello:world:this 
-is:an:example
-good:morning:

然后当我使用参数isan启动脚本时。预期的输出是:

-hello:world:this:

-good:morning:

1 个答案:

答案 0 :(得分:1)

您可以使用sed 's/^.*is:an.*$//'进行替换:

$ cat file
^[[A-hello:world:this 
-is:an:example
-good:morning:    

$ sed 's/^.*is:an.*$//' file
-hello:world:this 

-good:morning:

说明:

使用sed替换看起来像s/regexp/replace/替换与正则表达式匹配的行的任何部分,并将其替换为replace

正则表达式^.*is:an.*$匹配包含字符串is:an的任何整行,并将其替换为空。