Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [solved] sed "s###" - не понимаю...  (Прочитано 1028 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
[solved] sed "s###" - не понимаю...
« : 07 Апреля 2009, 21:41:08 »
Срипт тупой до безобразия. Из области "раньше всё работало".
#! /bin/sh
svn diff --summarize -r `cat ~/latest`:HEAD $1$2 | sed "s#^[AM].......$1$2/##"

Работает.

#! /bin/sh
svn diff --summarize -r `cat ~/latest`:HEAD $1$2 | sed "s#^[AM].......$1$2(/)##"

НЕ работает. Нет совпадений.

Передавать адрес репо и путь в репо. i.e.
скрипт http://svn.trampampam/repos /trunk

(Конечная идея, конечно, не столь тупа, как пример, но не понимаю, почему скобки вдруг не работают...)

Fake edit: sed -r
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Villain

  • Гость
Re: [solved] sed "s###" - не понимаю...
« Ответ #1 : 07 Апреля 2009, 21:45:39 »
 :) я только одну разницу нашел:

svn diff --summarize -r `cat ~/latest`:HEAD $1$2 | sed "s#^[AM].......$1$2/##"

svn diff --summarize -r `cat ~/latest`:HEAD $1$2 | sed "s#^[AM].......$1$2(/)##"

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: [solved] sed "s###" - не понимаю...
« Ответ #2 : 07 Апреля 2009, 23:11:24 »
Это и была проблема. Без sed -r (или sed -E, в зависимости от системы) скобки не работают вообще.

В общем, дарю, но пользоваться не советую.
Ибо даже простейшие проверки на глупость отсутствуют.
#! /bin/sh
echo "#! /bin/sh" > ~/tmp/export.sh
svn diff --summarize -r `cat ~/latest`:HEAD $1 | sed -E \
  -e "s#^[AM].......?($1)(/*(.*))#svn export --force --quiet \1\2 \3#" \
  -e "s#^D.......?$1/*(.*)#echo Removed object: \1#" >> ~/tmp/export.sh
chmod +x ~/tmp/export.sh
~/tmp/export.sh
rm ~/tmp/export.sh
svn info $1 | grep "^Revision:" | sed -E "s#^Revision:[[:space:]]+([[:digit:]]+)#\1#" > ~/latest
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.016 секунд. Запросов: 21.