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

时间:2017-09-13 04:19:55

标签: linux string bash

我想获得类似于下面脚本的子字符串,但它应该可以在Linux bash脚本中使用。

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

2 个答案:

答案 0 :(得分:0)

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

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

会打印

ee

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

答案 1 :(得分:0)

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

命令行:

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

bash脚本:

testvar="${line##* }"
echo $testvar

输出: EE