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