Помогите распарсировать строку
От: RobinHood  
Дата: 02.07.12 08:03
Оценка:
Всем привет.
У меня почти нет опыта в написании скриптов.
Мне нужно распарсировать строку такого формата: 1000002-04.06.2012.tar и получить массив
из четырех елементов: [1000002 4 6 2012].
помогите пожалуйста написать.
заранее спасибо.
Олег.
Re: Помогите распарсировать строку
От: jazzer Россия Skype: enerjazzer
Дата: 02.07.12 08:11
Оценка:
Здравствуйте, RobinHood, Вы писали:


RH>Всем привет.

RH>У меня почти нет опыта в написании скриптов.
RH>Мне нужно

какой язык нужен-то?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Помогите распарсировать строку
От: dilmah США  
Дата: 02.07.12 08:18
Оценка:
RH>Мне нужно распарсировать строку такого формата: 1000002-04.06.2012.tar и получить массив
RH>из четырех елементов: [1000002 4 6 2012].

sed 's/\([0-9][0-9]*\)-\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.tar/\1 \2 \3 \4/'
Re[2]: Помогите распарсировать строку
От: -prus-  
Дата: 02.07.12 09:05
Оценка:
Здравствуйте, dilmah, Вы писали:

D>sed 's/\([0-9][0-9]*\)-\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.tar/\1 \2 \3 \4/'


Как-то статейку читал: Bash Regular Expressions. Там скриптик есть. Может интересно будет.
С уважением,
Евгений
Re: Помогите распарсировать строку
От: HiSH Россия http://m0riarty.ya.ru
Дата: 02.07.12 19:21
Оценка:
Здравствуйте, RobinHood, Вы писали:

RH>Мне нужно распарсировать строку такого формата: 1000002-04.06.2012.tar и получить массив

RH>из четырех елементов: [1000002 4 6 2012].


$ echo "1000002-04.06.2012.tar" | cut -d. -f1,2,3
1000002-04.06.2012                                                                                                                                     
$ echo "1000002-04.06.2012.tar" | cut -d. -f1
1000002-04                                                                                                                                             
$ echo "1000002-04.06.2012.tar" | cut -d. -f2
06
$ echo "1000002-04.06.2012.tar" | cut -d. -f3
2012
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.