그래서 저는 대부분 영숫자로 구성된 텍스트 파일을 가지고 있습니다. 표준 문서입니다. 그런데 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