%EB%A5%BC%20%EA%B0%90%EC%A7%80%ED%95%98%EA%B3%A0%20%EC%9D%BC%EB%B6%80%20%EC%A0%9C%EA%B1%B0%20%EB%B0%8F%20if%20%EC%A1%B0%EA%B1%B4%EC%9D%84%20%EC%A0%81%EC%9A%A9%ED%95%A9%EB%8B%88%EB%8B%A4..png)
다음 변수 문자 = "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"