The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"как выдернуть подстроку (регулярное выражение)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"как выдернуть подстроку (регулярное выражение)"  
Сообщение от xristofer_robin on 26-Фев-09, 13:41 
string="aSlfd lk(An.)"
нужно в переменной R1 получить "aSlfd lk" а в переменной R2 "*An.*" т.е. все что находится внутри круглых скобок.

Пытался сделать
R2=`echo "$c" | grep -E -o  '\([a-Z0-9*. \ ]{1,}\)'`

результат (An.) - но он в скобках, а мне скобки не нужны, и еще, стоит появится в строке string символ звездочки "aSlfd lk(*df)" - баш выводит список файлов моего хома.

Подскажите, как правильно написать регулярное выражение.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "как выдернуть подстроку (регулярное выражение)"  
Сообщение от Andrey Mitrofanov on 26-Фев-09, 13:51 
>string="aSlfd lk(An.)"
>Пытался сделать
>R2=`echo "$c" | grep -E -o  '\([a-Z0-9*. \ ]{1,}\)'`
>
>результат (An.) - но он в скобках, а мне скобки не нужны,

|egrep -o  '\([a-Z0-9*. \ ]{1,}\)' |egrep -o '[^()]+'
или на sed-е склепать чего - одной командой.

Ну, и традиционное: оно точно на баше надо?.. Впочем, сам так же от перла "бегаю". ;)

>и еще, стоит появится в строке string символ звездочки "aSlfd lk(*df)"
>- баш выводит список файлов моего хома.

Слово "экранирование"... Сокровенное знание! Т-с-с, об этом нельзя!! :-P (Да, раз в недёлю - одно и то же, в этом форуме...)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "как выдернуть подстроку (регулярное выражение)"  
Сообщение от xristofer_robin on 26-Фев-09, 15:03 
а на sed как это сделать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "как вы-sed-нуть"  
Сообщение от Andrey Mitrofanov on 26-Фев-09, 15:09 
>а на sed как это сделать?

Ну, как....

'\([a-Z0-9*. \ ]{1,}\)'

|sed -n 's!^[^(]\+(\([a-Z0-9*. \ ]\+\)).*$!\1!p'

Как-нибудь так... Не проверял, не отлаживал и не буду.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "как выдернуть подстроку (регулярное выражение)"  
Сообщение от Hetzer (ok) on 27-Фев-09, 08:56 
>[оверквотинг удален]
>
>результат (An.) - но он в скобках, а мне скобки не нужны,
>и еще, стоит появится в строке string символ звездочки "aSlfd lk(*df)"
>- баш выводит список файлов моего хома.
>
>Подскажите, как правильно написать регулярное выражение.
>
>
>
>

а зачем усложнять? :)

echo "aSlfd lk(An.)"|cut -d "(" -f2|cut -d ")" -f1

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "как выдернуть подстроку (регулярное выражение)"  
Сообщение от vic (??) on 27-Фев-09, 11:14 
>[оверквотинг удален]
>
>Пытался сделать
>R2=`echo "$c" | grep -E -o  '\([a-Z0-9*. \ ]{1,}\)'`
>
>результат (An.) - но он в скобках, а мне скобки не нужны,
>и еще, стоит появится в строке string символ звездочки "aSlfd lk(*df)"
>- баш выводит список файлов моего хома.
>
>Подскажите, как правильно написать регулярное выражение.
>

играем с awk:
r1=$(echo $string | awk -F'[()]' '{print $1}')
r2=`echo $string | awk -F'[()]' '{print $2}'`

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "да, када ж ано кончится-то? :-D"  
Сообщение от Andrey Mitrofanov on 27-Фев-09, 12:06 
$ string="aSlfd lk(An.)"; IFS='()' read r1 r2 <<<"$string"; echo "##$r1##$r2##"
##aSlfd lk##An.##
$ _
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "да, када ж ано кончится-то? :-D"  
Сообщение от vic (??) on 27-Фев-09, 12:49 
>$ string="aSlfd lk(An.)"; IFS='()' read r1 r2 <<<"$string"; echo "##$r1##$r2##"
>##aSlfd lk##An.##
>$ _

+1

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру