test.txt
다음 내용이 포함된 파일이 있습니다 .
SCDE1
SF9
STR1D2
SREDF21
FRED
STER2R4
마지막 문자가 숫자인 경우에만 제거하고 싶으므로 출력은 다음과 같아야 합니다.
SCDE
SF
STR1D
SREDF2
FRED
STER2R
답변1
이것이 귀하의 기준에 부합합니까?
입력 데이터:
cat user324294
SCDE1
SF9
STR1D2
SREDF21
FRED
STER2R4
그리고 변환:
sed 's/[0-9]$//' user324294
SCDE
SF
STR1D
SREDF2
FRED
STER2R
정규식에 대한 참고 사항: 줄 끝 이후의 모든 숫자는 아무것도 아닌 것으로 대체됩니다.
답변2
마지막 문자가 숫자이면 제거됩니다.
sed 's|[0-9]$| |g' file
산출:
SCDE
SF
STR1D
SREDF2
FRED
STER2R
답변3
필요한 것은 텍스트와 일치하는 정규식(정규식)입니다.
정규식 일치하나번호는 입니다 [0-9]
. 줄의 끝은 입니다 $
.
양자:
[0-9]$
이제 다음을 sed
사용하여 각 줄의 텍스트를 삭제할 수 있습니다.
sed 's/[0-9]$//' test.txt
여러 숫자를 바꿔야 하는 경우 반복 수정자를 사용하세요. 이 경우 *가 될 수 있습니다. 질문하신 내용은 아니지만 알아두면 유용합니다.
sed 's/[0-9]*$//' test.txt