正则表达式如何在shell脚本中获取值?

正则表达式如何在shell脚本中获取值?

我必须编写一个 shell 脚本来从字符串中获取值,例如:

string="abcdef" pathName

如何使用grep命令结合正则表达式来获取“pathName”?

答案1

GNU grep 有以下--only-matching选项:

echo 'string="abcdef" pathName' |grep --only-matching "pathName"

将输出“路径名”。

更新有关所需模式的更多信息:

echo 'string="abcdef" pathName' |grep --only-matching "[[:graph:]]*$"

这里[[:graph:]]字符类所有非空格字符的, *表示零个或多个前面的模式,$表示行尾。
因此该模式匹配行末尾最长的非空格字符序列。

相关内容