내 문자열에 구분 기호 밑줄(_)이 있습니다.
입력 -
- ABC_테스트
- PQR_XYZ_TEST
- PQR_XYZ_ABC_TEST
예상 출력 -
- 알파벳
- PQR_XYZ
- PQR_XYZ_ABC
문자열의 마지막 부분만 제거하고 싶습니다. 누구든지 이를 달성하기 위한 더 빠른 방법(아마도 문장으로)을 제안할 수 있습니까?
답변1
string='ABC_TEST'
mod_string="${string%_*}"
echo "$mod_string"
ABC
답변2
기본 sed 명령은 다음과 같습니다.
sed 's/_TEST$//' filename
또는 마지막 항목 이후의 항목을 제거하세요 _
.
sed 's/_[^_]*$//' filename
문자열이 다른 명령에서 나온 경우:command | sed ...
변수라면sed ... <<< "${VARIABLE}"