Как извлечь часть строки с помощью сценария оболочки? - PullRequest
1 голос
/ 10 ноября 2009

Строка настроена так:

href=" ЧАСТЬ I ХОЧУ ВЫДЕЛИТЬ ">[link]

Ответы [ 4 ]

2 голосов
/ 10 ноября 2009

Вот еще один способ в Bash:

$ string="href="PART I WANT TO EXTRACT">[link]"
$ entity="""
$ string=${string#*${entity}*}
$ string=${string%*${entity}*}
$ echo $string
PART I WANT TO EXTRACT

Это иллюстрирует две особенности: удаление соответствующего шаблона префикса / суффикса и использование переменной для хранения шаблона (вместо этого можно использовать литерал).

2 голосов
/ 10 ноября 2009

используйте awk

$ echo "href="PART I WANT TO EXTRACT">[link]" | awk -F""" '{print $2}'
PART I WANT TO EXTRACT

Или используя саму оболочку

$ a="href="PART I WANT TO EXTRACT">[link]"
$ a=${a//"/}
$ echo ${a/&*/}
PART I WANT TO EXTRACT
0 голосов
/ 10 ноября 2009
expr "$string" : 'href="\(.*\)">\[link\]'
0 голосов
/ 10 ноября 2009
grep -o "PART I WANT TO EXTRACT" foo

Редактировать: «ЧАСТЬ I ХОЧУ ИЗВЛЕЧИТЬ» может быть регулярным выражением, т.е.

grep -o http://[a-z/.]* foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...