![다른 문자 앞의 마지막 문자 제거](https://linux55.com/image/95525/%EB%8B%A4%EB%A5%B8%20%EB%AC%B8%EC%9E%90%20%EC%95%9E%EC%9D%98%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EB%AC%B8%EC%9E%90%20%EC%A0%9C%EA%B1%B0.png)
명령에 대해 질문이 있습니다 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가지 방법
마지막 공백까지 모든 내용을 유지합니다.
sed 's/\(.*\) .*/\1/'
줄 끝에서 공백과 공백이 아닌 부분을 찾아 제거하세요.
sed 's/ [^ ]*$//'
답변2
sed -r 's/(.*)( \S+>)/\1/' file
a = 5 * x + 3
a = 5 * x + 7