1

Как с помощью стандартных средств linux вытащить из строки:

2011-05-11 22:54:50 [JID@server.ru] сообщение какое-то

JID(т.е. то что в [] без [] естественно) и тест сообщения ("сообщение какое-то") длинна JID может быть различной, в сообщении могут быть пробелы.

Debian GNU/Linux testing/sid (2.6.32)

2

это можно сделать sed'ом... как именно - гуглите или ждите кого-то, кто знает как с ним обращаться...

95% процентов проблем находятся между клавиатурой и стулом.

3

 Консоль:
$ STR="2011-05-11 22:54:50 [JID@server.ru] сообщение какое-то"; STR1=${STR#*\[}; STR2=${STR#*"] "}
$ echo ${STR1%\]*} #вот JID
JID@server.ru
$ echo $STR2 #вот сообщение
сообщение какое-то

sad but true

4

Aspedin пишет:

2011-05-11 22:54:50 [JID@server.ru] сообщение какое-то

 Консоль:
ksu@ksu:~$ echo "2011-05-11 22:54:50 [JID@server.ru] сообщение какое-то" | sed -r 's/.*\[([^]]*)\].*/\1/'
JID@server.ru
ksu@ksu:~$ echo "2011-05-11 22:54:50 [JID@server.ru] сообщение какое-то" | sed -r 's/.*\]//'
сообщение какое-то

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

правильнее так:

 Консоль:
$ echo "2011-05-11 22:54:50 [JID@server.ru] сообщение какое-то" | sed -r 's/.*\[([^]]*)\]/\1\n/;h;s/\n.*//p;g;s/.*\n//'
JID@server.ru
сообщение какое-то

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

6

Спасибо, то что надо

Debian GNU/Linux testing/sid (2.6.32)