[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



Владимир Скубриев -> debian-russian@lists.debian.org  @ Thu, 20 Jun 2013 10:50:45 +0400:

 >> По поводу плясок согласен. Уж очень много нюансов.
 >>
 >> Сейчас вот из шефа не работает - скотина. Уже просто слов нет. 2-ой день
 >> пошел.
 >>

 ВС> не рабочий вариант:
 ВС> 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 и \\2 иначе bash переводил echo -n "\\1"; echo \\2
 ВС> в echo -n "^A"; echo ^2

 ВС> )))))

 ВС> даже и не знаю что сказать - сложная это штука linux )

Что-то я подозреваю, что не в баше дело.  Если команда выдавалась в нем,
то для bash экранирование апострофами - это повод не подставлять \n, и
они должны были попасть к sed как есть, а дальше их подставит уже sed, и
во внутренний bash они уже не попадут.

Но если вся команда целиком подсовывалась башу какой-то еще программой,
там могла произойти подстановка.


Reply to: