Я пытаюсь прочитать строку из файла, сохранить ее в переменной $ line и извлечь все экземпляры (то есть угловые скобки с заглавными буквами между ними). Что я пытаюсь это:
while read line
do
#some other commands
FOUND=`expr $line : \<[A-Z]*\>`
echo FOUND is:$FOUND
#more commands
Когда я запускаю скрипт, я кормлю его:
<hello><HELLO>
выход:
FOUND is:0
Я также попробовал варианты цитат вокруг регулярного выражения. то есть "\<[A-Z]*\>"
, '\<[A-Z]*\>'
и \(<[A-Z]*>\)
где последний из них возвращает ноль.
Я проверил справочную страницу, она должна возвращать 0, если сопоставляются ноль символов или если совпадение не удается. Я чувствую, что это что-то маленькое, что я упускаю из виду, но после часа поиска я все еще не могу понять это.
Любая помощь оценена