다음 변수 문자 = "1234, MR45, MB46, 1234"를 고려하십시오. M[B 또는 R]의 마지막 발생을 감지하는 명령이 필요합니다. 여기서 M은 고정되고 두 번째 문자는 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"