sed는 Stirng의 끝에서 숫자를 제거합니다.

sed는 Stirng의 끝에서 숫자를 제거합니다.

문자열 끝에서 숫자를 제거합니다(예: 입력).

example123
example321
example0123

예상 출력:

example
example
example

나는 성공하지 않고 다음을 시도했습니다.

sed 's/[0-9]\+$//' <in.txt >out.txt 

어떻게 해야 합니까?

답변1

결과:

$ sed 's/[0-9]\+$//' <in.txt

예:

example
example
example

실행하는 명령( )은 출력을 파일 sed 's/[0-9]\+$//' <in.txt >out.txt로 보냅니다.out.txt

달리면 cat out.txt원하는 결과를 얻을 수 있습니다.

답변2

\+GNU sed에서 작동하지만 다른 구현에 대해서는 잘 모르겠습니다. 이 시도

$ sed 's/[0-9]*$//' ip.txt 
example
example
example

$ # or if ERE option is available
$ sed -E 's/[0-9]+$//' ip.txt 
example
example
example

답변3

어쩌면 일부 텍스트 뒤에 공백이 있을 수도 있습니다. 필요하지 않으며 $제거하면 문제가 해결됩니다.

sed 's/[0-9]\+//' <in.txt >out.txt

답변4

다른 파일을 작성할 필요가 없도록 입력 파일에 직접 변경 사항을 적용하려면 "-i" 플래그를 사용하십시오.

sed -i -r 's/[0-9]+$//' in.txt

관련 정보