Ich habe eine HTML-Datei mit viel% -codiertem UTF-8-Text in URLs.
Zum Beispiel steht "% D1% 80% D0% B5% D1% 81% D1% 83% D1% 80% D1% 81% D1% 8B" für "ресурсы" ("Ressourcen" auf Russisch).
Die Aufgabe besteht darin, alle diese Teilzeichenfolgen durch lesbaren UTF-8-Text zu ersetzen.
Um die Aufgabe zu vereinfachen, können wir berücksichtigen, dass %
die Datei keine andere Zeichenverwendung enthält. Buchstaben können sowohl in Groß- als auch in Kleinbuchstaben geschrieben werden.
Ich vermute, dass dies elegant gemacht sed
werden perl
kann awk
oder so, aber ich weiß nicht wie.
Diese Webanwendung scheint den Trick mit Text zu machen, den Sie dort einfügen.
Mit Perl:
Oder mit
URI::Escape
:quelle
$_
gnu.org/software/bash/manual/html_node/Special-Parameters.html$_
hier istperl
's$_
, nichtbash
' s. In Kombination mit der-p
Option wird der Perl-Ausdruck für jeden Eingabedatensatz ausgeführt (Datensätze werden aus Dateien gelesen, die als Argument oder Standard angegeben sind, wenn kein Argument angegeben ist), wobei der aktuelle Datensatz in gespeichert wird$_
. Das ist ähnlich wieawk
‚s$0
.Es gibt ein Programm namens,
convmv
das Ihnen helfen kann.Einfach benutzen
convmv --unescape /some_path/target_file
. Es wird ein Trockenlauf gemacht.Sobald Sie bestätigt haben, verwenden Sie, um
convmv --notest --unescape /some_path/target_file
fortzufahren.Die Homepage dieses Programms lautet: http://j3e.de/linux/convmv/
quelle