Re: помогите с sed и подпрограммой

2013-06-25 Пенетрантность Владимир Скубриев
On 24.06.2013 21:27, Артём Н. wrote: если вдруг кому понадобиться в будущем: sed -i -r '/^.*::.*/s/(^.*)(::) (.*)/echo -n \\1;echo -n : ; echo \\3 | base64 -d/e' /path/to/file Угу. *) Спасибо. :: ) Пожелаю вам, чтобы ваш код поддерживал хороший саппорт: http://tinyurl.com/mmmdg2v И скорейшего

Re: помогите с sed и подпрограммой

2013-06-25 Пенетрантность Артём Н.
On 25.06.2013 11:35, Владимир Скубриев wrote: Все познается в процессе сравнения ) Не ошибается тот, кто ни чего не делает. Ну да. Да на перле проще в каком то смысле - но ведь до этого нужно было дойти. Простота написания - не самоцель. Просто если через год, вам потребуется прочитать то,

Re: помогите с sed и подпрограммой

2013-06-24 Пенетрантность Артём Н.
On 20.06.2013 15:49, Владимир Скубриев wrote: On 20.06.2013 10:50, Владимир Скубриев wrote: не рабочий вариант: sed -i -r '/^.*::.*/s/(^.*:: )(.*)/echo -n \1; echo \2 | base64 -d/e' $dbdir/$stamp/$ou рабочий вариант: sed -i -r '/^.*::.*/s/(^.*:: )(.*)/echo -n \\1; echo \\2 | base64 -d/e'

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность Владимир Скубриев
On 19.06.2013 22:13, Alexander Galanin wrote: On Wed, 19 Jun 2013 15:29:16 +0400 dimas dimas...@ya.ru wrote: если в качестве разделителя вместо / выбрать что-то, чего заведомо не будет в замеяемой строке, то может и прокатить))) но это костыль. а как нормально заэкранировать ввод? гугль

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность Владимир Скубриев
On 20.06.2013 10:28, Владимир Скубриев wrote: По поводу плясок согласен. Уж очень много нюансов. Сейчас вот из шефа не работает - скотина. Уже просто слов нет. 2-ой день пошел. не рабочий вариант: sed -i -r '/^.*::.*/s/(^.*:: )(.*)/echo -n \1; echo \2 | base64 -d/e' $dbdir/$stamp/$ou

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность Dmitrii Kashin
At Thu, 20 Jun 2013 10:50:45 +0400, Владимир Скубриев wrote: пришлось за бэкслэшить \\1 и \\2 иначе bash переводил echo -n \\1; echo \\2 в echo -n ^A; echo ^2 Ну разумеется. bash(1): \nnn the eight-bit character whose value is the octal value nnn (one to three digits) -- To UNSUBSCRIBE,

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность dimas
12:21:24 171 ~$ echo test me baby | sed -r 's/(test me) (baby)/echo -n \2 ; echo \1/e' baby test me 12:24:18 171 ~$ echo test me baby | sed -r 's/(test me) (baby)/echo -n \\2 \; echo \\1\/e' baby test me 12:26:10 171 ~$ echo test me baby | sed -r 's/(test me) (baby)/echo -n \2 ; echo \1/e' baby

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность Artem Chuprina
Владимир Скубриев - debian-russian@lists.debian.org @ Thu, 20 Jun 2013 10:50:45 +0400: По поводу плясок согласен. Уж очень много нюансов. Сейчас вот из шефа не работает - скотина. Уже просто слов нет. 2-ой день пошел. ВС не рабочий вариант: ВС sed -i -r '/^.*::.*/s/(^.*::

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность Владимир Скубриев
On 20.06.2013 13:36, Artem Chuprina wrote: Но если вся команда целиком подсовывалась башу какой-то еще программой, там могла произойти подстановка. как раз так и работает chef -- С Уважением, специалист по техническому и программному обеспечению, системный администратор Скубриев Владимир

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность Владимир Скубриев
On 20.06.2013 13:36, Artem Chuprina wrote: Но если вся команда целиком подсовывалась башу какой-то еще программой, там могла произойти подстановка. в просто созданном скрипте с #!/bin/bash все работает без экранирования дополнительным слэшем ) -- С Уважением, специалист по техническому и

Re: помогите с sed и подпрограммой

2013-06-20 Пенетрантность Владимир Скубриев
On 20.06.2013 10:50, Владимир Скубриев wrote: не рабочий вариант: sed -i -r '/^.*::.*/s/(^.*:: )(.*)/echo -n \1; echo \2 | base64 -d/e' $dbdir/$stamp/$ou рабочий вариант: sed -i -r '/^.*::.*/s/(^.*:: )(.*)/echo -n \\1; echo \\2 | base64 -d/e' $dbdir/$stamp/$ou пришлось за бэкслэшить \\1 и

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность Artem Chuprina
Владимир Скубриев - debian-russian@lists.debian.org @ Tue, 18 Jun 2013 22:29:47 +0400: sed, помнится, делать так не умеет. Стоит взять perl. ВС да как бы перла еще не хватало ) ВС видел я примеры на нем, но хотелось бы все таки без всяких там perl, ruby, ВС python, etc Мы по debian или

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность Владимир Скубриев
On 19.06.2013 11:04, Artem Chuprina wrote: Владимир Скубриев - debian-russian@lists.debian.org @ Tue, 18 Jun 2013 22:29:47 +0400: sed, помнится, делать так не умеет. Стоит взять perl. ВС да как бы перла еще не хватало ) ВС видел я примеры на нем, но хотелось бы все таки без всяких

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность alexander barakin
On Wed, Jun 19, 2013 at 09:23:43AM +0400, Владимир Скубриев wrote: Вот кусок исходного файла: # anthropics, users, example.lab dn: cn=anthropics,ou=users,dc=example,dc=lab cn: Anthropics Client cn: anthropics description: Anthropics Client gidNumber: 1901 homeDirectory: /home/anthropics

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность Владимир Скубриев
On 19.06.2013 12:56, alexander barakin wrote: $ sed -r 's/(userPassword:: )(.*)/echo -n \1; echo \2 | base64 -d/e' file Спасибо большое за такую подсказку. Это как раз то что я искал. Ваша команда работает, правда мне почему то захотелось её переписать вот так sed -i

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность dimas
s/^userPassword:\ // что означает обратный слэш после s/^userPassword: экранирование пробела. в принципе, без него работает, добавлять по вкусу)) -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность dimas
если в качестве разделителя вместо / выбрать что-то, чего заведомо не будет в замеяемой строке, то может и прокатить))) но это костыль. а как нормально заэкранировать ввод? гугль подсказал про printf %q, но он съедает не все - например, / . остаются как есть, хотя во второй части команды это не

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность alexander barakin
On Wed, Jun 19, 2013 at 02:24:42PM +0400, Владимир Скубриев wrote: Есть несколько вопросов: 1. если вызывать sed без -r, то нужно только экранировать     Символы ‘?’, ‘+’, круглые скобки, {}             символом \ если вы хотите использовать их как специальные символы     и все ? в этом и

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность Владимир Скубриев
On 19.06.2013 15:37, alexander barakin wrote: Можно еще маленький вопросик. Решил переписать для большей универсальности - работает: sed -i '/^.*::.*/s/\(^.*:: \)\(.*\)/echo -n \1; echo \2 | base64 -d/e' /tmp/passwd Далее решил потренироваться и переписать с -r Но вот не задача -

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность alexander barakin
On Wed, Jun 19, 2013 at 04:58:07PM +0400, Владимир Скубриев wrote: On 19.06.2013 15:37, alexander barakin wrote: Можно еще маленький вопросик. Решил переписать для большей универсальности - работает: sed -i '/^.*::.*/s/\(^.*:: \)\(.*\)/echo -n \1; echo \2 | base64 -d/e' /tmp /passwd

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность Artem Chuprina
Владимир Скубриев - debian-russian@lists.debian.org @ Wed, 19 Jun 2013 16:58:07 +0400: ВС On 19.06.2013 15:37, alexander barakin wrote: ВС Можно еще маленький вопросик. Решил переписать для большей универсальности - ВС работает: ВС sed -i '/^.*::.*/s/\(^.*:: \)\(.*\)/echo -n \1; echo \2

Re: помогите с sed и подпрограммой

2013-06-19 Пенетрантность Alexander Galanin
On Wed, 19 Jun 2013 15:29:16 +0400 dimas dimas...@ya.ru wrote: если в качестве разделителя вместо / выбрать что-то, чего заведомо не будет в замеяемой строке, то может и прокатить))) но это костыль. а как нормально заэкранировать ввод? гугль подсказал про printf %q, но он съедает не все -

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Artem Chuprina
Владимир Скубриев - debian-russian@lists.debian.org @ Tue, 18 Jun 2013 17:49:32 +0400: ВС Есть файл в котором есть строки на подобии этой: ВС userPassword:: e1NIQX1WN3k5OFpIMU9FMEQ2TFVFb0loSHRGaHkycVk9 ВС Это значение справа - в кодировке base64. ВС Его нужно раскодировать. ВС Начал

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность loh
On Tue, Jun 18, 2013 at 10:29:47PM +0400, Владимир Скубриев wrote: да как бы перла еще не хватало ) видел я примеры на нем, но хотелось бы все таки без всяких там perl, ruby, python, etc В sed такие вещи писать сложно bash http://vladz.devzero.fr/svn/codes/bash/base64.sh или perl perl

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Владимир Скубриев
18.06.2013 18:48, Artem Chuprina пишет: Владимир Скубриев - debian-russian@lists.debian.org @ Tue, 18 Jun 2013 17:49:32 +0400: ВС Есть файл в котором есть строки на подобии этой: ВС userPassword:: e1NIQX1WN3k5OFpIMU9FMEQ2TFVFb0loSHRGaHkycVk9 ВС Это значение справа - в кодировке

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Alexander Galanin
On Tue, 18 Jun 2013 22:29:47 +0400 Владимир Скубриев vladi...@skubriev.ru wrote: ВС то есть скрипт меняет всю строку на само значение закодированное. ВС теперь я хотел бы его передать чему то, что вернуло бы раскодированное ВС значение. sed, помнится, делать так не умеет. Стоит

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность dimas
sed -i '/^userPassword::/s/\(^userPassword:: \)\(.*\)$/\2/' /tmp/passwd \2 - уже возвращает чисто само значение. то есть скрипт меняет всю строку на само значение закодированное. для начала, зачем эти сложности? s/^userPassword:\ // все! банальная же операция, отрезаем ненужное)) echo

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Alexander Galanin
On Wed, 19 Jun 2013 01:30:09 +0400 dimas dimas...@ya.ru wrote: а зачем? когда мне нужно строку заменить на результат выполнения какой-то команды, я обычно юзаю что-то типа echo s/bla-bla-bla/$(echo sdg54SGDgsgGGXC4555 | base64 -d)/ | sed -f - -i input_file в общем, сочиняем sed-скрипт на

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Владимир Скубриев
On 19.06.2013 01:30, dimas wrote: sed -i '/^userPassword::/s/\(^userPassword:: \)\(.*\)$/\2/' /tmp/passwd \2 - уже возвращает чисто само значение. то есть скрипт меняет всю строку на само значение закодированное. для начала, зачем эти сложности? s/^userPassword:\ // все! банальная же операция,

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Владимир Скубриев
On 18.06.2013 22:41, l...@1917.com wrote: On Tue, Jun 18, 2013 at 10:29:47PM +0400, Владимир Скубриев wrote: да как бы перла еще не хватало ) видел я примеры на нем, но хотелось бы все таки без всяких там perl, ruby, python, etc В sed такие вещи писать сложно bash

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Dmitry A. Zhiglov
18 июня 2013 г., 17:49 пользователь Владимир Скубриев vladi...@skubriev.ru написал: Есть файл в котором есть строки на подобии этой: userPassword:: e1NIQX1WN3k5OFpIMU9FMEQ2TFVFb0loSHRGaHkycVk9 Это значение справа - в кодировке base64. Его нужно раскодировать. Можно поинтересоваться? Что с

Re: помогите с sed и подпрограммой

2013-06-18 Пенетрантность Владимир Скубриев
On 19.06.2013 09:30, Dmitry A. Zhiglov wrote: 18 июня 2013 г., 17:49 пользователь Владимир Скубриев vladi...@skubriev.ru написал: Есть файл в котором есть строки на подобии этой: userPassword:: e1NIQX1WN3k5OFpIMU9FMEQ2TFVFb0loSHRGaHkycVk9 Это значение справа - в кодировке base64. Его нужно