在linux中,如何从特定字符的最后一次出现到字符串的结尾提取子字符串?

在linux中,如何从特定字符的最后一次出现到字符串的结尾提取子字符串?,linux,string,bash,Linux,String,Bash,我想得到一个子字符串,类似于下面的脚本,但它应该可以在LinuxBash脚本中使用 "aa-bbb-cccc-ddd-ee" | awk -F"-" '{print $NF}' 您可以在Bash中使用参数扩展的模式替换模式 s="aa-bbb-cccc-ddd-ee" echo ${s/*-/} 将打印 ee 这里,我们用空字符串替换模式*-的最长匹配。参数展开的模式替换模式的一般形式是 ${parameter/pattern/string}其中模式的展开方式与路径表达式中的展开方式相同

我想得到一个子字符串,类似于下面的脚本,但它应该可以在LinuxBash脚本中使用

"aa-bbb-cccc-ddd-ee" | awk -F"-" '{print $NF}'

您可以在Bash中使用参数扩展的模式替换模式

s="aa-bbb-cccc-ddd-ee" echo ${s/*-/} 
将打印

ee
这里,我们用空字符串替换模式
*-
的最长匹配。参数展开的模式替换模式的一般形式是
${parameter/pattern/string}
其中模式的展开方式与路径表达式中的展开方式相同。

我找到了答案。我在bash中使用了以下脚本来处理此问题:

命令行:

stringvar="this text is written to test. tnx"
echo "${stringvar##*. }"
bash脚本:

testvar="${line##* }"
echo $testvar
输出: ee