Как отфильтрова слова из текста

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

fillsa
Сообщения: 2

Как отфильтрова слова из текста

Сообщение fillsa »

Доброго времени суток.

Как из текста:

...бла бла бла
[FM_TAG]
name=barbados

[MYSTUFF_KEYWORD]
image=/Pictures
audio=/Music
video=/Video
voice=/Voice
default=/unKnown
mydocument=/Documents
bookmark=/Documents/Bookmark
storepage=/Documents/StorePage
reminder=/Voice/Reminders
conversations=/Voice/Conversations
fonts=/Fonts
link=/.link


[TOPLEVEL]
s_icon=
...бла бла бла

получить слова из графы [MYSTUFF_KEYWORD] и стоящие после =/

Проще говоря должно полуцчиться
Pictures
Music
Video
Voice
unKnown
Documents
Bookmark
StorePage
Reminders
onversations
Fonts
.link

Зарание спасибо за ответ.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Как отфильтрова слова из текста

Сообщение watashiwa_daredeska »

cat FILE | awk '/^\[/{p=0}p&&$0{print $0}/^\[MYSTUFF_KEYWORD\]/{p=1}' | sed 's/^[^=]*=//'
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Как отфильтрова слова из текста

Сообщение drBatty »

$

sed -rn '/\[MYSTUFF_KEYWORD\]/,/^$/s~.*=/~~p' t.txt Pictures Music Video Voice unKnown Documents Documents/Bookmark Documents/StorePage Voice/Reminders Voice/Conversations Fonts .link

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Как отфильтрова слова из текста

Сообщение t.t »

drBatty писал(а):
12.11.2011 10:25

$

sed -rn '/\[MYSTUFF_KEYWORD\]/,/^$/s~.*=/~~p' t.txt Pictures Music Video Voice unKnown Documents Documents/Bookmark Documents/StorePage Voice/Reminders Voice/Conversations Fonts .link

Только в том случае, если после нужной секции гарантировано есть пустая строка (или перевод строки в конце файла.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
fillsa
Сообщения: 2

Re: Как отфильтрова слова из текста

Сообщение fillsa »

всем большое спасибо, очень помогло.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Как отфильтрова слова из текста

Сообщение drBatty »

t.t писал(а):
12.11.2011 19:59
Только в том случае, если после нужной секции гарантировано есть пустая строка (или перевод строки в конце файла.

как я понял условие, пустая строка там есть. Можно и другое условие ввести (например любая строка НЕ вида xxx=\yyy).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Как отфильтрова слова из текста

Сообщение t.t »

drBatty писал(а):
13.11.2011 05:28
t.t писал(а):
12.11.2011 19:59
Только в том случае, если после нужной секции гарантировано есть пустая строка (или перевод строки в конце файла.
как я понял условие, пустая строка там есть. Можно и другое условие ввести (например любая строка НЕ вида xxx=\yyy).
Я понял условие так же. Уточнил на всякий случай для автора. В частности, некоторые программы при создании ini-файлов "забывают" завершить переводом строки последнюю строку файла. В этом случае уже и другое условие не поможет.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: