LINUX.ORG.RU

конвертация


0

1

В bib файле (созданном tellico) в поле file содержится путь к файлу. Для некоторых записей он выглядит как то так:

{..../Physics/%D0%9A%D0%BE%D0%BB%D0%B5%D0%B1%D0%B0%D0%BD%D0%B8%D1%8F/%D0%9E%D0%BF%D1%82%D0%B8%D0%BA%D0%B0/Light%20Scattering%20by%20Systems%20of%20Particles,%20Doicu,%20Springer%202006.pdf}

В какой это кодировке и главное как перевести это в удобочитаемый вид, а то некоторые программы не воспринимаю такой путь.

★★★★

Ответ на: комментарий от GotF

Великолепно. Можно ли сделать это в баше. iconv -f что сюда ставить? -t utf-8

RCV ★★★★ ()
Ответ на: комментарий от RCV

питоном часто делают:

#!/usr/bin/env python

from sys import argv
from urllib.parse import unquote

print( unquote(" ".join(argv[1:])) )

или shell-фунция: python -c «from urllib.parse import unquote; print(unquote('$@'))»

(но проблема с одинарными кавычками, хотя для zsh можно ${(qqq)@})

n01r ★★ ()
Ответ на: комментарий от RCV
$ cat uri
%D0%9A%D0%BE%D0%BB%D0%B5%D0%B1%D0%B0%D0%BD%D0%B8%D1%8F
$ sed "y/%[ABCDEF0123456789][ABCDEF0123456789]/%[abcdef0123456789][abcdef0123456789]/" uri | xxd -r -p && echo -e "\n"
Колебания
adriano32 ★★★ ()
Ответ на: комментарий от n01r

man sed

y/source/dest/

Transliterate the characters in the pattern space which appear in source to the corresponding character in dest.

adriano32 ★★★ ()
Ответ на: комментарий от n01r

Вот еще:

#!/bin/dash
sed 's/%/\\\\x/g' | xargs echo -e

(не умеет «%%»)

n01r ★★ ()
Ответ на: комментарий от adriano32

Дык y регистр попортит, да и для него можно было бы y/ABCDEF0123456789/...

n01r ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.