wget 명령 후에 얻은 모든 html 파일을 텍스트 파일로 변환하는 방법은 무엇입니까?

wget 명령 후에 얻은 모든 html 파일을 텍스트 파일로 변환하는 방법은 무엇입니까?

wget 명령 후에 얻은 모든 html 파일을 일반 텍스트 파일로 변환하는 방법은 무엇입니까?

사용을 고려하고 있어요살쾡이HTML 파일을 ".txt" 파일로 변환하고 태그를 제거합니다.

전체 웹사이트를 저장하는 이 코드 조각이 있는데 로컬 폴더 "test"의 "foobar" 웹사이트에 있는 html 파일에서 변환된 텍스트 파일만 유지하도록 코드를 어떻게 변경합니까?

wget -P /test/ --recursive http://foobar.html

나는 무엇을 해야할지 모르겠다파이프로 연결하다살쾡이그리고 지정하는 방법특정 디렉터리의 모든 파일에 명령 적용.

답변1

wget아마도 올바른 도구가 아닐 것입니다. Lynx는 파일을 다운로드하고 동시에 일반 텍스트로 변환할 수 있지만 출력을 파일로 리디렉션하여 이를 수행합니다. 옵션이 없기 때문에 -output출력 이름을 지정해야 하기 때문에 스크립트에서 사용하는 것이 다소 어색합니다.

그러나 .html디렉토리가 파일로 가득 차 있다고 가정하면 find디렉토리를 반복하고 예를 들어 다음을 사용하여 파일을 변환할 수 있습니다.

#!/bin/sh
find . -type f -name '*.htm*' | while IFS= read path
do
    lynx -dump "$path" >"${path%%.htm*}.txt"
done

".txt" 파일을 동일한 트리에 배치하거나

#!/bin/sh
find . -type f -name '*.htm*' | while IFS= read path
do
    target=${path/foobar/test}
    lynx -dump "$path" >"${target%%.htm*}.txt"
done

"test" 폴더에 있습니다("foobar"를 "test"로 매핑). "/" 대체는 bash에만 해당되며 POSIX에는 없습니다(그러나 sedPOSIX를 사용하기로 선택한 경우에는 잘 작동합니다).

추가 자료:

답변2

일정에 따라 HTML 파일로 다운로드한 다음 명령줄 유틸리티를 사용할 수 있습니다 html2text.

https://stackoverflow.com/questions/30015809/html2text-convert-special-characters

관련 정보