有没有办法在 Mac OS X 下的 Bash 中查找字符串中第一个字符的位置?
类似的东西:
stringZ=abcABC123ABCabc # 6
echo `expr index "$stringZ" C12` # C position.
如Advanced Bash-Scripting Guide
所述一堆陷阱:
expr index $string $substring
不是
存在于OS X(BSD)匹配 有什么想法吗?
答案 0 :(得分:5)
这是一个可怕的黑客攻击,可能不适用于所有情况。
tmp=${stringZ%%C12*} # Remove the search string and everything after it
echo $(( ${#tmp} + 1 )) # Add one to the length of the remaining prefix
答案 1 :(得分:2)
可能有点矫枉过正但是这个怎么样:
$ echo 'abcABC123ABCabc' | awk 'match($0,"C"){print RSTART}'
6