문자열 끝에서 숫자를 제거합니다(예: 입력).
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