Bash在关键字

时间:2016-04-18 15:51:20

标签: bash sed

在文件中我有一行说 的 1 |主机| google.com

我需要在" host |"之后更改关键字。每个文件中都有不同的主机。在" host |"之后我不能将google.com替换为关键字。在每个文件中都不一样。

2 个答案:

答案 0 :(得分:1)

sed -i 's/^1|host|*$/1|host|"NewHostname"/' ."FileName"

这样你就取代了:

host|somethingsomethingsomething  

host|NewHostName  

并直接将其写入名为FileName

的文件中

^标记了一行的开头,$标记了结尾,因此您将模式应用于整行。

*匹配所有内容,以便替换每个主机名 在这里你可以找到一些关于sed的一般知识,因为这是一些基本的东西

Link to GNU

答案 1 :(得分:0)

您可以使用以下sed替换替换host|后面的文字:

s/(.*host\|).*/\1<your replacement>/