如何用bash脚本中的空行替换匹配特定模式的行?
例如:
-hello:world:this
-is:an:example
-good:morning:
然后当我使用参数is
和an
启动脚本时。预期的输出是:
-hello:world:this:
-good:morning:
答案 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
的任何整行,并将其替换为空。