2013-10-11 3 views
0

Я работаю над скриптом оболочки, и я хочу получить шаблон в строке, начинается и заканчивается определенным символом. Насколько я могу сделать, это:Получить шаблон в строке начинается и заканчивается определенным символом

a=`grep -oh ^\/ $1` 
grep -oh \'$ $a 

Я знаю, что grep -oh команда находит слово в файле и выводит его, так что я пытался найти слова, начинается с / и заканчивается '. Но он все еще находит слова, но мне нужны шаблоны для поиска, например, если /bin/ls'dir - это строка, мне нужно получить/bin/ls. Кроме того, я не могу подавить символ ' в конце.

Как это можно сделать?

ответ

0

Perl регулярные выражения удобны с упреждающего утверждений:

str="like if /bin/ls'dir is the string, I have to get /bin/ls. " 
grep -oP "/.*?(?=')" <<< "$str" 
/bin/ls 
0

Предполагая, что это список, а не с текстом:

#!/bin/bash 
echo "/bin/ls'dir"|awk -F\' '{print "dir: "$1" end: "$NF}' 
Смежные вопросы