On Wed, Mar 03, 2004 at 07:59:36PM +0200, Maxim Tyurin wrote: > Sergey Vlasov writes: > > > On Wed, Mar 03, 2004 at 07:33:28PM +0200, Maxim Tyurin wrote: > >> Просветите plz какие изменения в subst (sed) произошли? > >> Перестал обрабатывать такую конструкцию в спеке: > >> %__grep -r /etc/ipsec.secrets * \ > >> | %__awk '{ print $1 }' \ > >> | %__sed -e 's|:.*$|\1|' \ > >> | xargs %__subst 's|/etc/ipsec.conf|/etc/super-freeswan/ipsec.conf|'; > >> > >> Ругается > >> + /bin/grep -r /etc/ipsec.secrets BUGS CHANGES CHANGES.AggressiveMode CHANGES.SUPERFS CHANGES.X509 CHANGES.ipsec_alg COPYING CREDITS INSTALL Makefile Makefile.inc Makefile.ver README README.AggressiveMode README.DPD README.NAT-Traversal README.SUPERFS README.ipsec_alg README.selectors README.x509 contrib doc klips lib libcrypto libdes packaging pluto rpm.in testing utils zlib > >> + gawk '{ print $1 }' > >> + /bin/sed -e 's|:.*$|\1|' > >> /bin/sed: -e expression #1, char 10: Invalid reference \1 on `s' command's RHS > >> ошибка: Неверный код возврата из /home/mrkooll/tmp/rpm-tmp.44577 (%prep) > > > > Так он не на subst дохнет, а на предыдущем sed. И правильно делает - что > > может обозначать ссылка '\1' в правой части, если в левой части нет > > '\(..\)'? > > > > В старом sed это, похоже, работало как 's|:.*$||' - предполагалось именно > > это? > > Может я тупить начал уже. > Но > %__grep -r /etc/ipsec.conf * \ > | %__awk '{ print $1 }' \ > | %__sed -e 's|:.*$|\1|' \ > | xargs perl -p -i -e 's|/etc/ipsec.conf|/etc/freeswan/ipsec.conf|'; > работает как надо. Если это происходит на той же системе, на которой предыдущий вариант не работает с вышеуказанным сообщением - это уже что-то из области фантастики.