The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Проверка XSL листе данных в файл данных Unix ravijunghare UNIX для чайников Вопросы И Ответы 1 11-07-2008 09:32 AM
Нужна помощь для добавления трех новых столбцов в существующих файлов с fatching данных из файла Sandeep_Malik Shell программирование и сценарии 36 09-17-2008 06:12 PM
Извлечение данных из текстовых файлов конфигурации основаны на установленных в конфигурационный файл suparnbector Shell программирование и сценарии 3 08-10-2007 03:25 AM
Почтовые Shell программирование: Вопрос об источнике файла и чтения данных из файла ccwq Shell программирование и сценарии 3 08-04-2007 11:28 PM
Используя цикл чтения файла, загрузки данных из базы данных. Sonu4lov Shell программирование и сценарии 1 01-19-2007 03:38 AM

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 12-03-2008
naughty21 naughty21 is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 16
Как получить данные из тегов в XML файлов

Привет
У меня есть файл, в котором данные загружаются из реляционных таблиц и столбцов Имена тегов в XML-файл, который приводится ниже.

<State> ООН </ Государство> <Zip/> <CompanyName/><EmailAddress>FDF@gmail.COM</ Адрес электронной почты><PromoType> UNKNOWN </ PromoType> </ Содействие> </ PromotionList <State> ООН </ Государство> <Zip/> <CompanyName/><EmailAddress>zd4946@gmail.com</ Адрес электронной почты>

Что я должен сделать, это: нужно проверить данные между тегами, которые выделены жирным шрифтом является действительным или нет ... средства, чтобы проверить ли ее на адрес электронной почты, или нет ... Чтобы проверить эту Мне нужно просмотреть данные в период между этими тегами.

, и найти длину данных, которые в период между тег ... означает длину FDF@gmail.COM

Для этого мне нужно, чтобы получить данные из XML-файла, где <EmailAddress> </ адрес электронной почты> тег присутствует.



Простите, если уже просил ... я проверил, но я didn't получить Exatly сопоставления результатов по моему требованию

каких-либо помочь в этом ... Im этом в оболочке Korn

Последний раз редактировалось naughty21; на 12-04-2008 01:51 PM..
Old 12-03-2008
Кристоф Spohr Christoph Spohr is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 205
Привет,

Я бы попытаться извлечь электронную почту напрямую. Для меня это работает с вашей выборки:

Код:
email=($(grep -o "[0-9A-Za-z]\+@[0-9A-Za-z]\+\.[A-Za-z]\{2,3\}" file))
Это пишет все модели, и только в этих моделях, соответствующих регулярному выражению
в массиве по электронной почте.

Код:
echo ${#email[0]}
Даст вам длины первого элемента. Без "#", он будет давать
Вам вход в позицию 0.

HTH Крис
Old 12-03-2008
naughty21 naughty21 is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 16
Крис спасибо за Ваш ответ


но
, когда им пытаются ниже одной

Код:
email=($(grep -o "[0-9A-Za-z]\+@[0-9A-Za-z]\+\.[A-Za-z]\{2,3\}" 456))

im getting this error 

ksh: 0403-057 Syntax error: `(' is not expected.


, когда им пытаются ниже одной
Код:
email=$(grep -o "[0-9A-Za-z]\+@[0-9A-Za-z]\+\.[A-Za-z]\{2,3\}" 456)

im getting error like this 

grep: Not a recognized flag: o
Usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] -e pattern_list...
        [-f pattern_file...] [file...]
Usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] [-e pattern_list...]
        -f pattern_file... [file...]
Usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] pattern_list [file...]
любой другой sggestions
Old 12-03-2008
Кристоф Spohr Christoph Spohr is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 205
Не удивительно, вы используете KSH. Это решение работает только в Bash или zsh.
Что KSH Я не могу вам помочь. Но это должно быть легко. Просто Google для массивов
В KSH. $(...) Выполнить следующую команду в дочернем. (...) Ставит
вещи внутрь в один массив. Возможно, вы можете заменить на (...)
`...` (Backticks). Но я не знаю.

Возможно, вам придется настроить регулярное выражение, слишком. В настоящее время он не будет
письма совпадают с точками, подчеркивания, дефисы т.д.
Old 12-03-2008
naughty21 naughty21 is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 16
Цитата:
Первоначально Послано Кристоф Spohr View Post
Не удивительно, вы используете KSH. Это решение работает только в Bash или zsh.
Что KSH Я не могу вам помочь. Но это должно быть легко. Просто Google для массивов
В KSH. $(...) Выполнить следующую команду в дочернем. (...) Ставит
вещи внутрь в один массив. Возможно, вы можете заменить на (...)
`...` (Backticks). Но я не знаю.

Возможно, вам придется настроить регулярное выражение, слишком. В настоящее время он не будет
письма совпадают с точками, подчеркивания, дефисы т.д.
Я получил ответ, но работает с 1 возникновения тег только

Код:
awk -F '</?EmailAddress>' '{print $2}' 456.xml
но мне нужно несколько раз за .... означает адрес тега существует несколько раз в файл ...
так необходимо проверить весь файл на адрес электронной почты и получать их, где <EmailAddress> </ адрес электронной почты> тег присутствует.

Последний раз редактировалось naughty21; на 12-03-2008 05:07 PM..
Old 12-04-2008
samshaw samshaw is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2008
Сообщений: 16
Re: написать значения XML-тегов в массивы

Здравствуйте все,

Надеюсь, что все в порядке. Я использую Bourne Shell (SH). Я эту простую структуру XML (очень хорошо определены, и это, как это Твердая структура будет). Точный образец выглядит следующим образом (Там всегда будет одно значение для каждого тега):

<Users>
<host>
<hostAddress> 180.144.226.47 </ hostAddress>
<UserName> pwdfe </ имя пользователя>
<password> hjitre </ пароль>
<instanceCount> 2 </ instanceCount>
</ Хост>
<host>
<hostAddress> 180.144.226.87 </ hostAddress>
<UserName> trrrer </ имя пользователя>
<password> jhjjhhj </ пароль>
<instanceCount> 3 </ instanceCount>
</ Хост>
<host>
<hostAddress> 180.455.226.87 </ hostAddress>
<UserName> wewqw </ имя пользователя>
<password> dfsdfd </ пароль>
<instanceCount> 3 </ instanceCount>
</ Хост>
</ Пользователи>
-------------------------------------------------- --------------------

Теперь я хочу создать массив только значения XML-тегов. Например H_ARRAY ('180 .144.226.47 ','180 .144.226.87','180 .144.226.87 '). Тогда я думал отрицать значение массива соответственно. Я новичок в оболочке сценариев, и особенно "SED"Команда, которая после неоднократных попыток не смог понять. Бы признателен за вашу помощь. Я хотел бы знать, если я пропустил что-то,


H_ARRAY \u003d ( `Эхо $ ()` hostAddress)
U_ARRAY \u003d ( `Эхо $ (имя пользователя)`)
P_ARRAY \u003d ( `Эхо $ (пароль)`)
I_ARRAY \u003d ( `Эхо $ ()` instanceCount)

Спасибо,
Сэм
Old 12-04-2008
dennis.jacob dennis.jacob is offline Forum Advisor  
DJ - студент
  
 

Регистрация: Февраль 2007
Место: Сингапур / Бангалор / Кочин
Сообщений: 597
Попробуйте быстро approch:
Код:
sed 's/>/\n>/g' filename | sed 's/>\([A-Za-z0-9]*@[A-Za-z0-9]*\.[A-Za-z0-9]*\)<.*/\1/' | sed '/@/!d'
Closed Thread

Закладки

Теги
Данные, поиск, скрипт оболочки, оболочке сценариев, Тег, Unix-скриптов, Unix сценарии основы, XML

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

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

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

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




Часовой пояс GMT -4. Текущее время 01:25 AM.


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