如何用 bash 脚本中的空行替换与特定模式匹配的行?
例如:
-hello:world:this
-is:an:example
-good:morning:
然后当我使用参数is
和an
. 预期的输出是:
-hello:world:this:
-good:morning:
你会做一个替换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
并将其替换为空。