The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Поиск заменить строку в file1 со строкой из (таблицы поиска) file2? gstuart Shell программирование и сценарии 9 06-08-2009 07:11 AM
заменить строкой sam99 Shell программирование и сценарии 4 03-04-2008 01:39 AM
SED Заменить String Справка prash184u Shell программирование и сценарии 2 01-23-2008 01:57 AM
заменить строкой melanie_pfefer Shell программирование и сценарии 11 01-17-2008 10:57 AM
Заменить строку B в зависимости от возникновения строка A hemangjani Shell программирование и сценарии 1 12-05-2006 05:10 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 04-08-2008
chiru_h chiru_h is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2006
Сообщений: 72
заменить строку в XML с SED

Поздравления,
Я имею в XML: file.xml

Код:
<component>
       <name>abcd</name>
       <value>1234</value>
</component>

Я использую SED заменить ABCD с желаемой стоимости динамично, не зная о реальной стоимости.

Код:
sed 's/<name>[-[:alnum:]./]\{1,\}<\/name>/<name>ijkl<\/name>/' file.xml > newfile.xml

У меня нет никаких проблем с этой командой в Linux на Solaris, но машина, я получаю ошибку:
Цитата:
SED: команда искажен: / <имя> [- [: alnum :]./] \ (1, \) <\ / Name> / <имя> ijkl <\ / Name> /
Если я удалю >[-[: alnum :]./] \ (1, \) и положить фактическое значение, это хорошо. Но я должен сделать это динамично, как я использую его в сценарий для замены существующего значения с учетом ценности.

Может ли кто-нибудь, пожалуйста, советом.

Спасибо,
Chiru

Последний раз редактировалось Йогеш Sawant; на 04-08-2008 02:45 PM.. Причина: добавлен код тегов
Old 04-08-2008
reborg's Avatar
reborg reborg is offline Forum Staff  
Администратор
  
 

Регистрация: Mar 2005
Место проведения: Ирландия
Сообщения: 4244
Я удивился он работает в любом месте, команда искажен по крайней мере в одну сторону. Существуют 4 / символов в слова.

Я не в Solaris окно прямо сейчас, но я уверен, Solaris SED не поддерживает [::] форма самовыражения, так что вы получите больше изменений из-нибудь вроде:


Код:
sed 's#<name>\([^<][^<]*\)</name>#<name>SOMETHING</name>#' file.xml

Old 04-08-2008
Franklin52 Franklin52 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4334
Если вы замените в целом эта линия должна быть достаточно:


Код:
sed 's#<name>.*#<name>SOMETHING</name>#' file.xml

Привет
Old 04-08-2008
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2555
Вам следует использовать специальный инструмент для разбора XML, а не SED. (хотя он все еще может быть сделано)
Old 04-09-2008
chiru_h chiru_h is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2006
Сообщений: 72
Благодаря Reborg / Franklin..both из них работают, но используется в качестве Reborg другой меняется в некоторых других местах, где я не нужен.

Что будет самым простым способом разбора XML - в том смысле, что я могу использовать в качестве части корпуса скрипт, который я же ряд других задач, как хорошо.

Спасибо,
Chiru
Old 04-09-2008
эпоха era is offline Forum Advisor  
Гердер бесполезных Кошки (В субботний)
  
 

Регистрация: Mar 2008
Местоположение: / там / это / только / BIN / ш
Сообщений: 3652
В наименее болезненным образом, зависит от Ваших потребностей. Если файл является простым тогда простые линии ориентированной оболочкой утилиты вы знакомы с следует, как правило, недостаточно. Если нужно делать ничего, что требует какого-либо реального понимания структуры XML (гнездящейся, сестру и аналогичные отношения, условные операторы и т.д.), то он, вероятно, имеет смысл, чтобы по крайней мере, некоторые вводные знакомство с некоторыми надлежащего инструмента XML. Есть несколько формализмов выбирать из многих инструментов, которые осуществляют их лично, я смог добиться своей цели с xsltproc После первого шока пытаются понять, что попал в руководители людей, которые пришли со спецификациями для этого.
Closed Thread

Закладки

Теги
Linux, Solaris

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 05:31 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0