私はこのような文字列を持っています:
STRING="$PATTERN_some-stuff_$PATTERN_some-other_stuff"
$PATTERNBashの組み込みコマンドのみを使用して、その中の発生数をカウントしたいと思います。
これを行うためのより簡単な方法は、文字列から一致する文字列のみを抽出し、$PATTERN次に、新しく作成された文字列に存在する数をカウントすることです$PATTERN。このように進めます。
expr length "${STRING//[^$PATTERN]}" / ${#PATTERN}
$PATTERNただし、が単一の文字である場合にのみ機能します。構文を使用しようとしまし${STRING//!(PATTERN)}"たが、Bashのマニュアルをよく理解していれば$PATTERN、残りの部分を除いてのみ一致し$STRINGますが、実際には何も出力されません。それで、私はどこが間違っていますか?