次の変数文字="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"