URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9049
[ Назад ]

Исходное сообщение
"удаление части строки с помощью скрипта"

Отправлено Okiki , 24-Фев-11 22:05 
попогмте пожалуйста со скриптиком имеется файл следующего вида

blablalba/dadada (blablalba/dadada) dododod/qoqoqo (dododod/qoqoqo)
zablalba/dadadadada (zablalba/dadadadada) eododod/qoqoqorr (eododod/qoqoqorr)

и так далее, нужно распарсить так, чтобы в файле осталось только то что в скобках
(blablalba/dadada) (dododod/qoqoqo)
как это сделать?
вижу выход в awk, по пока не понимаю как.


Содержание

Сообщения в этом обсуждении
"удаление части строки с помощью скрипта"
Отправлено Pahanivo , 25-Фев-11 07:59 
> попогмте пожалуйста со скриптиком имеется файл следующего вида
> blablalba/dadada (blablalba/dadada) dododod/qoqoqo (dododod/qoqoqo)
> zablalba/dadadadada (zablalba/dadadadada) eododod/qoqoqorr (eododod/qoqoqorr)
> и так далее, нужно распарсить так, чтобы в файле осталось только то
> что в скобках
> (blablalba/dadada) (dododod/qoqoqo)
> как это сделать?
> вижу выход в awk, по пока не понимаю как.

awk '{print $2,$4}' mazafile
кагта таг


"удаление части строки с помощью скрипта"
Отправлено Andrey Mitrofanov , 25-Фев-11 09:58 
> попогмте

$ echo "blablalba/dadada (blablalba/dadada) dododod/qoqoqo (dododod/qoqoqo) x"|sed 's/^[^(]*(/(/;s/)[^(]*(/) (/g;s/)[^()]*$/)/'
(blablalba/dadada) (dododod/qoqoqo)
$ _


"удаление части строки с помощью скрипта"
Отправлено Andrey Mitrofanov , 25-Фев-11 10:01 
>> попогмте
> $ echo "blablalba/dadada (blablalba/dadada) dododod/qoqoqo (dododod/qoqoqo) x"|sed
> 's/^[^(]*(/(/;s/)[^(]*(/) (/g;s/)[^()]*$/)/'
> (blablalba/dadada) (dododod/qoqoqo)
> $ _

Ну, или на awk-е те же замены и принт ~~~ awk '{sub(...);gsub(...);sub(...);print}'


"удаление части строки с помощью скрипта"
Отправлено Pahanivo , 25-Фев-11 11:44 
>>> попогмте
>> $ echo "blablalba/dadada (blablalba/dadada) dododod/qoqoqo (dododod/qoqoqo) x"|sed
>> 's/^[^(]*(/(/;s/)[^(]*(/) (/g;s/)[^()]*$/)/'
>> (blablalba/dadada) (dododod/qoqoqo)
>> $ _
> Ну, или на awk-е те же замены и принт ~~~ awk '{sub(...);gsub(...);sub(...);print}'

какие замены )) там жо столбцы разделенные пробелами ))
если товаришь не врет с экзамплом - то awk хватит по самые помядоры


"удаление части строки с помощью скрипта"
Отправлено автор , 25-Фев-11 15:17 
>>>> попогмте
>>> $ echo "blablalba/dadada (blablalba/dadada) dododod/qoqoqo (dododod/qoqoqo) x"|sed
>>> 's/^[^(]*(/(/;s/)[^(]*(/) (/g;s/)[^()]*$/)/'
>>> (blablalba/dadada) (dododod/qoqoqo)
>>> $ _
>> Ну, или на awk-е те же замены и принт ~~~ awk '{sub(...);gsub(...);sub(...);print}'
> какие замены )) там жо столбцы разделенные пробелами ))
> если товаришь не врет с экзамплом - то awk хватит по самые
> помядоры

спасибо большое, за решение. вчера сделал тоже самое в екселе, но путем долгого перебора формул и многократных прогонов.