変数に最後に現れる2つの文字(最初の文字はC、2番目の文字はAまたはBです)を検出し、いくつかの削除とif条件を適用します。

変数に最後に現れる2つの文字(最初の文字はC、2番目の文字はAまたはBです)を検出し、いくつかの削除とif条件を適用します。

次の変数文字="1234、MR45、MB46、1234"を考えてみましょう。 M [BまたはR]の最後の発生を検出するコマンドが必要です。ここで、Mは固定され、2番目の文字はBまたはRになり、削除します。出力出力= MB46、1234"文字変数にMBまたはMRワードが含まれていない場合は、エラーを印刷するコマンドも必要です。

答え1

Bash解決策(正規表現一致):

letters="1234, MR45, MB46, 1234"

if [[ "$letters" =~ .*(M[BR].*) ]]; then 
    echo "${BASH_REMATCH[1]}"   # MB46, 1234
else 
    echo "MB or MR word not found!"
fi

簡略化された短縮の代替として、次のGNUはgrep適用可能な方法:

grep -Po '.*\KM[BR].*' <<<"$letters" || echo "MB or MR word not found"

関連情報