PDF에서 텍스트를 복사하고 이를 텍스트 편집기에 붙여 넣으면 다음과 같은 결과가 나타납니다.
텍스트가 오른쪽 여백까지 확장되지 않지만 행 사이에 공백이 있는 열처럼 보입니다. 텍스트를 오른쪽 여백까지 확장하고 줄 사이에 공백이 없도록 하고 싶습니다. 수동으로 포맷할 수도 있지만 시간이 많이 걸립니다. 이 작업을 자동으로 수행할 수 있는 프로그램이 있나요?
답변1
grep .
빈 줄을 모두 제거하세요. 결과를 다음으로 파이프할 수 있습니다.fmt
원하는 너비로 텍스트 서식을 다시 지정합니다. X 클립보드에 텍스트가 있으면 xsel -b
거기에서 가져옵니다.
xsel -b | grep . | fmt -w 80 >reformatted.txt
줄 바꿈을 전혀 원하지 않는 경우 줄 바꿈을 공백으로 바꾸되 끝에 줄 바꿈을 추가할 수 있습니다.
xsel -b | grep . | tr '\n' ' '; echo
이미지에 따르면 하이픈이 손실되어 "vul-/gar"가 "vul gar"로 출력되고 "Thanks-/giving"이 "Thanksgiving"으로 출력되기 때문에 출력이 좋지 않습니다.
grep .
모든 단락을 하나의 단락으로 결합합니다. 텍스트에 단락을 표시하는 방법이 있는 경우에만 이를 방지할 수 있습니다. 같은 단락의 줄 사이에 빈 줄이 있고 단락 사이에 빈 줄이 두 개 이상 있는 경우 다음과 같이 줄 바꿈을 제거하고 단락 구분 기호를 유지할 수 있습니다.
awk 'length {if (previous < NR-2) print ""; previous = NR; print}'
당신은 실행을 시도할 수 있습니다pdftotext
PDF에서 직접. 이는 텍스트 형식을 다시 지정하지 않으며 빈 줄을 포함할 수도 있고 포함하지 않을 수도 있습니다(PDF 생성 방법에 따라 다름).
답변2
할 수 있어요:
awk -v RS=$'\n\n' -v ORS=" " '1 { print; }' file | fold