다른 문자 앞의 마지막 문자 제거

다른 문자 앞의 마지막 문자 제거

명령에 대해 질문이 있습니다 sed. 공백과 선택한 문자 사이의 문자(또는 문자 집합)를 제거할 수 있습니까? 예를 들어 여러 줄의 텍스트가 포함된 목록이 있는 경우:

a = 5 * x + 3 n\exit>

a = 5 * x + 7 abndc\exit>

...기타 등등

얻기 위해

a = 5 * x + 3

a=5*x+7

기타 등등

명령을 사용하시겠습니까 sed?

3그래서 기본적으로 다음 공간의 모든 것을 삭제했습니다.>

답변1

2가지 방법

  1. 마지막 공백까지 모든 내용을 유지합니다.

    sed 's/\(.*\) .*/\1/'
    
  2. 줄 끝에서 공백과 공백이 아닌 부분을 찾아 제거하세요.

    sed 's/ [^ ]*$//'
    

답변2

sed -r 's/(.*)( \S+>)/\1/' file

a = 5 * x + 3
a = 5 * x + 7

관련 정보