Linux
從變數中檢測最後出現的兩個字母(第一個字母是 C,第二個字母可以是 A 或 B)並應用一些刪除和 if 條件
考慮下面的變數 letters=“1234, MR45, MB46, 1234” 需要一個命令來檢測最後一次出現的 M
$$ B or R $$其中 M 是固定的,第二個字母可以是 B 或 R 並刪除之前的所有內容 預期輸出輸出 =“MB46, 1234” 如果字母變數沒有 MB 或 MR 字,則還需要 if 命令列印錯誤
**
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
作為簡化的縮短替代方案,**
grep
**可以使用以下 GNU 方法:grep -Po '.*\KM[BR].*' <<<"$letters" || echo "MB or MR word not found"