Sed:如果其中不包含chaine,则替换字符串[重复]

Posted

技术标签:

【中文标题】Sed:如果其中不包含chaine,则替换字符串[重复]【英文标题】:Sed : replace string if a chaine is not included in it [duplicate] 【发布时间】:2016-07-07 23:08:05 【问题描述】:

我有一个变量“header”,如果里面有chaine“last”我什么都不想做,但是如果chain“last”不在我的变量里面,我想删除整个变量 (header = "")

我一直在寻找这样的东西,但显然它不会这样工作。

echo $header | sed "/!'last'//"

如何用 sed 求反?有人可以帮帮我吗?

谢谢

【问题讨论】:

【参考方案1】:
header=`echo $header |  sed '/last/d'`

header=`echo $header |  sed -e 's/.*last.*//g'`

【讨论】:

【参考方案2】:

awk

header=$(echo $header | awk '!/last/')

【讨论】:

以上是关于Sed:如果其中不包含chaine,则替换字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章