異なる正規表現を使用した grep -c のパイプの違いを bc に渡す

異なる正規表現を使用した grep -c のパイプの違いを bc に渡す

ファイル内で、特定の文字セットを含まない単語の数 (1 行につき 1 単語) を見つける必要があります。これを行うには、grep -c '.' <file>との違いを取得しますgrep -c '<other_pattern>' <file>。次のコマンドを使用して bc にパイプしてみましたecho "(grep -c '.' <file>) - (grep -c '<other_pattern>' <file>)" | bc。結果は単に構文エラーでした。 bc が grep 呼び出しの結果を受け入れるために必要な構文について、誰かが洞察力を持っていることを期待していました。これも 1 つのコマンドで行う必要があります。

前もって感謝します。

答え1

コマンド置換を有効にするには、単に 2 つのドル記号が欠けているだけです。

echo $(grep -c '.' <file>) - $(grep -c '<other_pattern>' <file>) | bc

引用符も実際には必要ないので削除しました。

関連情報