ファイル内の数字を含む単語の数を学びます。

ファイル内の数字を含む単語の数を学びます。

数値を含む特定のファイル内の単語の総数を見つけようとします。特定の数字ではなく、どんな数字でも含まれる単語だけ探しています。私は次のようにgrepとwcコマンドを使ってみました。

grep [0-9] filename | wc -w

私が得た結果は「一致しない」です。何が間違っているのか誰が見ることができますか?

助けてくれてありがとう。

ベストアンサー1

シェルが独自の構文規則を使用して括弧を解釈しているため、一致するものを取得できないようです。引用符で囲む必要があります。ただし、この問題ではない場合でも、同じ行に表示されるすべての単語(またはすべての種類)を数字で計算します。それはあなたが望むものではありません。

私はこれを提供する:

grep -wo '[[:alnum:]]*[0-9][[:alnum:]]*' filename.txt | wc -w

ゼロ個以上のアルファベット文字、その後に少なくとも1つの数字、ゼロ個以上のアルファベット文字を含む文字列を探します。

この-wオプションはフルワードのみを計算します。この-oオプションは各一致をその行に配置し、一致のみを印刷するため、同じ行に他の単語は表示されません。wc -w言葉を数えてください。

おすすめ記事