sed 또는 tr 한 줄의 모든 숫자 삭제

sed 또는 tr 한 줄의 모든 숫자 삭제

그래서 저는 대부분 영숫자로 구성된 텍스트 파일을 가지고 있습니다. 표준 문서입니다. 그런데 PDF에서 복사해서 붙여넣었기 때문에 페이지 번호가 있어요. 페이지가 아닌 숫자가 가끔 나타나는 것은 별로 신경쓰이지 않으므로 sed다 사용하거나 지울 생각입니다 tr. 결국 이는 GUI에서 처음 0, 1, 2 등을 찾아서 바꾸는 것보다 조금 더 빠릅니다.

그럼 어떻게 해야 하나요?

답변1

모든 숫자를 제거하려면 여러 가지 방법이 있습니다.

tr -d 0-9 <old.txt >new.txt
tr -d '[:digit:]' <old.txt >new.txt
sed -e 's/[0-9]//g' <old.txt >new.txt

페이지 번호만 제거하려는 경우 더 나은 정규식을 사용하여 페이지 번호의 해당 숫자를 식별할 수 있습니다. 예를 들어, 페이지 번호가 공백을 제외하고 항상 한 줄에 있는 경우 다음 명령은 공백으로 둘러싸인 숫자만 포함하는 줄만 삭제합니다.

sed -e '/^ *[0-9]\+ *$/d' <old.txt >new.txt

( \+GNU 확장입니다. 일부 sed구현의 경우 더 긴 표준 대안을 원할 수도 있습니다. \{1,\}또는 사용 [0-9][0-9]*).

그러나 이를 위해 명령줄을 사용할 필요는 없습니다. 어느 정도 유능한 편집자는 정규식 검색 및 바꾸기 기능을 갖추고 있습니다.

답변2

나는 당신이 찾고 있는 것이 다음과 같다고 믿습니다:

tr -d 0-9

관련 정보