【发布时间】:2013-07-11 01:05:33
【问题描述】:
有没有办法在Mac OS X下的Bash中找到字符串中第一个字符的位置?
类似:
stringZ=abcABC123ABCabc # 6
echo `expr index "$stringZ" C12` # C position.
如Advanced Bash-Scripting Guide中所述
几个陷阱:
- 官方index函数
expr index $string $substring不是 存在于 OS X (BSD) 匹配 - 安装 gnu match (gmatch) 似乎不是一个 BSD 系统领域的便携式解决方案
有什么想法吗?
【问题讨论】:
-
我没有要测试的 OS X,但
echo $stringZ|grep C12 -o -b能做到吗? -
$ echo "ASDfsfssdf" | grep D -o -b 0:D
-
可以不带-o试试吗?在我的 bash 版本上,在 Linux 上,-b 的行为由 -o 更改,但从我在 Mac OS X 手册页中看到的内容来看,
grep C12 -b可能有效。 -
echo "ASDfsfssdf" | grep D -b 0:ASDfsfssdf