【发布时间】:2019-07-27 19:21:11
【问题描述】:
我正在尝试使用 sed 查找文件中最后一次出现的字符串,然后在该字符串的“中间”添加一些内容。我只想搜索字符串的一部分,因为整个字符串可能不同(我要添加的字符串是一个可以具有不同值的变量)。我总是想在字符串的最后一个字符之前添加。
例如:
Thing=name
Word=value
Stuff=tree
Word=anotherValue!
This=that
我想在最后一次出现的 "Word=":
的最后一个字符之前添加一个单词Thing=name
Word=value
Stuff=tree
Word=anotherValueOkay!
This=that
我知道tac | sed <?> | tac是如何处理最后一次出现的字符串,但是如何在最后一次出现的字符串中,在字符串的最后一个字符之前添加一个单词呢?
【问题讨论】:
-
最简单的方法:反转文件中的行,匹配第一次出现的sed,反转文件中的行。如果您特别询问 sed,您可能希望将
sed作为标签添加到问题中。或者是否可以接受任何 bash-list 解决方案?是的,tac | sed |塔克。我认为它仅在 sed 中可行。 -
所以使用 tac,然后是 sed,然后是 tac?我希望特别是 sed。我会确保添加该标签,谢谢。好的,我试试,谢谢。
-
@KamilCuk 我编辑了我的问题,以便更清楚地了解我想要做什么。 tac | sed > | tac
是如何找到字符串的最后一次出现,但是如何按照我上面描述的方式添加到该字符串?