3

Mac OS Xの下でBashの文字列内の最初の文字の位置を見つける方法はありますか?

何かのようなもの:

stringZ=abcABC123ABCabc                      # 6
echo `expr index "$stringZ" C12`             # C position.

Advanced Bash-Scripting Guideで説明されているように

落とし穴のカップル:

  1. 公式のインデックス機能expr index $string $substringは、OS X (BSD)の一致には存在しません
  2. gnu match ( gmatch ) のインストールは、BSD システムの領域では移植可能なソリューションではないようです

何か案は?

4

2 に答える 2

2

やり過ぎかもしれませんが、これはどうですか:

$ echo 'abcABC123ABCabc' | awk 'match($0,"C"){print RSTART}'
6
于 2013-07-12T13:31:10.570 に答える