2015-02-05 22 views
-1

Я пытаюсь разбить большую строку, как:Попытка разбить большую строку в Баш

string='<tr id="section1">98811</tr><tr id="section2">109148</tr><tr id="section3">30818</tr>' 

Я хочу, чтобы получить номер (109148)

+2

предоставляют некоторые детали .. –

+0

Я делаю Баш скрипт, и я хочу, чтобы получить число «109148» с раздельным для строки. – David

+0

Разделить на что ?. –

ответ

4

Попробуйте это,

echo $string|grep -oP '(?<="section2">).*?(?=</tr>)' 

Здесь будет выход точно,

109148 

Я использовал section2 извлечь выгоду из этого конкретного tr тега для других, вам необходимо изменить идентификатор/имя элемента, чтобы получить различные значения.

+1

Я не знал, что 'grep' поддерживает не жадный поиск. ('sed' не делает.) Спасибо за информацию .. – anishsane

+0

@anishsane вам больше всего нравится bro :) – Skynet

2

Вы можете использовать sed.

echo $string | sed 's/.*="section2">\([^<]*\)<.*/\1/' 
Смежные вопросы