|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : mitrohin a.s. 2:5020/400 01 Sep 2007 08:35:08 To : Sergey Matveychuk Subject : Re: напечатать строку вместо кодов символов --------------------------------------------------------------------------------
On Wed, Aug 22, 2007 at 12:28:46PM +0000, Sergey Matveychuk wrote:
> Victor Sudakov пишет:
>> Sergey Babitch wrote:
>>>> Hе понял, при чём тут разные шеллы. Я тебе предлагаю попробовать
>>>> /usr/bin/printf "\xD0\xA0\xD1\x83\xD1\x87\xD0\xBA\xD0\xB8\xD0\xBD"
>>>>
>>>> Либо в bash есть встроенный printf?
>>> Да.
>>>> /usr/bin/printf "\xD0\xA0\xD1\x83\xD1\x87\xD0\xBA\xD0\xB8\xD0\xBD"
>>> xD0xA0xD1x83xD1x87xD0xBAxD0xB8xD0xBD>
>> То-то и оно.
>>>> printf "\xD0\xA0\xD1\x83\xD1\x87\xD0\xBA\xD0\xB8\xD0\xBD"
>>> пНяїяґпРпЛпЧ>
>> Hеужели ничем из base system нельзя сделать нужное?
>
> Вернемся к началу и подумаем про LC_CTYPE. ldapsearch выдает в "нормльном"
> utf-8. У меня по жизни ldapsearch bla-bla | iconf -s -f utf-8 -t koi8-r
> работало и работает.
>
наверное у меня похожая задача - привести в удобочитаемую форму вывод
ldapsearch.
убил довольно много времени - делюсь:
#!/bin/sh
# ldif_unfold()
#
# собирает перенесенные строки (длинные, многострочные) в одну большую.
# для преобразования ldif файлов в удобную для разбора форму.
#
# Hапример текст такого вида
# dn: uid=user1,ou=people,o=xxx
# objectClass: account
# description:: JGFJHGFJHGFJHGFJGFJ
# KJHGKHJGKGHKJGHKGHKHJGKHJGKHJGKH
# LKJHLJKHLKJHLKHJLKJ=
#
# будет преобразован в
# dn: uid=user1,ou=people,o=xxx
# objectClass: account
# description::
JGFJHGFJHGFJHGFJGFJKJHGKHJGKGHKJGHKGHKHJGKHJGKHJGKHLKJHLJKHLKJHLKHJLKJ=
#
ldif_unfold()
{
sed -n "
:L_main
h
:L_next
\$ {
g; s/\n//g; p
b L_exit
}
n
/^[[:space:]]/ {
s/^[[:space:]]//g; H
b L_next
}
x; s/\n//g; p; x
b L_main
:L_exit
"
}
ldif_utf2local()
{
local h v
while read h v; do
case "$h" in
*::)
echo ${h%:} `echo -n $v | recode utf-8/b64..`
;;
*) echo $h $v
;;
esac
done
}
ldif_human()
{
ldif_unfold | ldif_utf2local
}
ldapsearch "$@" | ldif_human
/swp
--- ifmail v.2.15dev5.4
* Origin: Barnaul State Pedagogical University InterNetNews site (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.unix.bsd/19118e45bf1ee.html, оценка из 5, голосов 10
|