Lynx가 파일 이름의 공백을 인식하도록 하는 방법

Lynx가 파일 이름의 공백을 인식하도록 하는 방법

URL의 모든 .pdf 파일 목록을 찾는 스크립트를 사용하고 있습니다. 그러나 Lynx는 파일 이름의 공백에 문제가 있는 것 같습니다. 스크립트는 다음과 같습니다.

lynx --dump http://www.somesite/here/ | awk '/http/{print $2} | grep pdf > ~/Desktop/links.txt

파일 이름에 공백이 있는 .pdf가 있을 때까지 예상대로 작동합니다. Lynx는 공백에서 파일 이름을 자르는 것 같습니다. 이를 방지할 수 있는 방법이 있나요?

답변1

awk(기본적으로)는 공백을 필드 구분자로 사용하고 lynx는 덤프된 URL의 공백을 공백으로 렌더링합니다. 버그 보고서에서 제안한 대로 문제를 해결하세요.

lynx -listonly -dump http://www.somesite/here/ | \
awk '/\.pdf$/{ sub("^[ ]*[0-9]+.[ ]*","",$0); 인쇄}' > ~/Desktop/links.txt

콘텐츠가 UTF-8 인코딩으로 되어 있으면 lynx이스케이프 해제텍스트(예:%20), 이 경우 공백을 표시합니다(이름의 공백 수에 따라 awk에 대해 두 개 이상의 필드를 만듭니다).

그 탈출은 데비안에서 이루어졌습니다#398274, 2013년(즉, Ubuntu 18.04에 해당 기능이 있습니다).

추가-listonly옵션은 다음 항목만 확인하여 잘못된 일치 항목 수를 줄입니다.목록URL의.

여러 파일 형식을 찾으려면 정규식에서 대안으로 접미사를 나열할 수 있습니다. 예를 들어 다음과 같습니다.

awk '/\.(pdf|odt|doc|docx)$/{ sub("^[ ]*[0-9]+.[ ]*","",$0); 인쇄}' > ~/Desktop/links.txt

관련 정보