ę와 같은 HTML 숫자 엔터티를 원하고 이를 실제 문자로 변환하고 싶습니다. 내 이메일은 주로 다음과 같은 링크드인에서 왔습니다.
chciałabym zapytać, czy rozważa Pan takze udział 바르샤바에서 현재 진행 중인 프로젝트는 무엇입니까? Obecnie poszukujemy 사양은 javascript/architekta z bardzo dobrą znajomością Angular.js do 프로젝트, który dotyczy systemu, służącego do monitorowania 및 zarządzania flotą pojazdów입니다. Zespół, do którego poszukujemy
나는 Clawsmail을 사용하고 있는데 html로 전환하고 텍스트로 변환하지 않고 복사하여 사용해 보았습니다.
xclip -o -sel clip | html2text | less
그러나 엔터티를 변환하지는 않습니다. 명령줄 도구를 사용하여 해당 텍스트를 가져올 수 있는 방법이 있습니까?
내가 생각할 수 있는 유일한 방법은 data:text/html,<PASTE THE EMAIL>
브라우저에서 사용하여 여는 것이지만 명령줄을 선호합니다.
답변1
recode
무료 (이전 GNU ) 사용 recode
:
recode html < file
엔터티 가 없거나 엔터티를 디코딩해야 하는 recode
경우 다음을 사용하여 수동으로 수행할 수 있습니다.HTML::Entities
&#x<hex>;
perl -Mopen=locale -pe 's/&#x([\da-f]+);/chr hex $1/gie'
답변2
~에서HTML 엔터티를 디코딩하는 방법은 무엇입니까?StackOverflow에서는 다음과 같은 간단한 Perl 솔루션을 구현할 수 있습니다.
perl -Mopen=locale -MHTML::Entities -pe '$_ = decode_entities($_)' email.txt
예를 들어 샘플 텍스트를 사용하여
$ perl -Mopen=locale -MHTML::Entities -pe '$_ = decode_entities($_)' email.txt
chciałabym zapytać, czy rozważa Pan takze udział w nowych projektach w Warszawie ? Obecnie poszukujemy specjalisty javascript/architekta z bardzo dobrą znajomością Angular.js do projektu, który dotyczy systemu, służącego do monitorowania i zarządzania flotą pojazdów. Zespół, do którego poszukujemy
를 사용하면 -Mopen=locale
I/O는 로캘의 문자 집합에서 수행됩니다. 여기에는 의 입력이 포함됩니다 email.txt
. ASCII 문자만 포함된 것처럼 보이지만 email.txt
(내 생각에 이 문자를 인코딩하는 것이 전체 포인트라고 생각되는 표기법 사용 &#x<hex>;
), 그렇지 않은 경우 위의 내용을 조정하여 올바른 문자 세트로 파일을 디코딩해야 할 수도 있습니다(로케일의 문자와 일치하는 경우). 문자셋이 다름) a) open=locale
.
답변3
Python 3.2+ 버전은 파이프라인에서 사용할 수 있습니다.
python3 -c 'import html, sys; [print(html.unescape(l), end="") for l in sys.stdin]' < file
답변4
echo -e "\x01\x19"
그러면 문제가 해결될 것입니다.