0

假设我有以下字符串:

variable number of characters -> information information information WORD: info

如何删除“信息”之前和最后一个“信息”字符串之后的所有内容以及如何获取“信息”(删除“->”和空格之前的所有内容,然后删除“WORD:”之前的所有内容和空格键)。例如。

var1="information information information"
var2="info"

另外我想了解更多关于“sed”的信息,我尝试在网上搜索一些客观的文章,但没有找到。如果您有一篇好文章的链接,如果您与我分享,我将不胜感激。提前致谢。

4

2 回答 2

3

Bash 有一个内置的正则表达式操作符=~。匹配项存储在BASH_REMATCH( r eg e x match ) 数组中。

regex='^.* -> (.*) WORD: (.*)$'

if [[ $string =~ $regex ]]; then
    var1=${BASH_REMATCH[1]}
    var2=${BASH_REMATCH[2]}
fi
于 2013-04-21T00:35:26.417 回答
0

Eric Pement 页面上的 sed one liner 和 sed FAQ 很有用。

http://www.pement.org/sed/index.htm

于 2013-04-21T03:45:46.303 回答