获取点字符后的子字符串,比较

问题描述 投票:0回答:1

我有:

string1="start1.MATCH.ext"
string2="start2.qwer.ext"
string3="start3.MATCH.ext"

...

我想取出每个字符串并提取第一个句点之后的部分,所以

MATCH.ext
qwer.ext
MATCH.ext

然后比较这些子字符串,这样如果它们匹配,我就可以在 if 语句中执行某些操作:

if (substr[i] == substr[j]) //now I can do something with string1 and string3

如何在 Bash 中执行此操作?

string bash shell compare
1个回答
5
投票

您可以使用

${var#*.}
截断字符串的前面,并与
if [[ ... ]]
进行比较:

string1="start1.MATCH.ext"
string2="start2.qwer.ext"
string3="start3.MATCH.ext"

if [[ ${string1#*.} = ${string3#*.} ]]; then
        echo They match
else
        echo No match
fi
© www.soinside.com 2019 - 2024. All rights reserved.