【问题标题】:Bash: get substring after a dot character, compareBash:在点字符后获取子字符串,比较
【发布时间】:2013-02-05 21:38:51
【问题描述】:

我有:

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 compare


    【解决方案1】:

    您可以使用${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
    

    【讨论】:

      猜你喜欢
      • 2015-08-30
      • 2012-03-02
      • 2020-08-23
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      相关资源
      最近更新 更多