Есть ли способ найти позицию первого символа в строке в Bash под Mac OS X?Bash: Найти положение символа в строке под OS X
Что-то вроде:
stringZ=abcABC123ABCabc # 6
echo `expr index "$stringZ" C12` # C position.
, как мы проделали в Advanced Bash-Scripting Guide
Пара подводных камней:
- Официальный индекс функция
expr index $string $substring
не присутствует в OS X (BSD) матч - Установка гну матча (gmatch), кажется, не быть портативное решение в области систем BSD
Любые идеи?
не имеют OS X, чтобы проверить, но будет 'Эхо $ stringZ | Grep C12 -o -b' сделать трюк ? –
$ echo "ASDfsfssdf" | grep D -o -b 0: D –
Можете ли вы попробовать без -o? В моей версии bash, в Linux, поведение -b изменяется на -o, но из того, что я вижу в man-странице Mac OS X, может работать grep C12 -b'. –