Bashの `expr index "abcdefghijklmnopqrstuvwxyz" xyzd`に対応するZsh

Bashの `expr index

Zshはbashと同じですか?

expr index "abcdefghijklmnopqrstuvwxyz" xyzd

部分文字列のインデックスを見つけようとしています。

ベストアンサー1

zsh非標準のexpr使用法(btwには関係ありません)の組み込みの代替案を探している場合は、bash次のことができます。

$ a=abcdefghijklmnopqrstuvwxyz b=xyzd
$ echo ${a[(i)[$b]]}
4

を使用するとiインデックスを取得できます最初一致します(一致するものがない場合は、干し草の山の長さを追加します)。代わりにI、最後の一致を取得します(または一致がない場合は0)。

POSIXに似たシェルを使用(bashおよび含むzsh

$ s=${a%%[$b]*}
$ echo "$(($#s + 1))"
4

おすすめ記事