ファイルの特定の列にある英数字の単語のみを計算します。

ファイルの特定の列にある英数字の単語のみを計算します。

テストファイルを受け取りましたが、ファイル内の特定の列にある単語の数を数える必要があります。問題は、一部の行に数字のみが含まれていることです。

私はそれがwc何かについての単語数を提供することを知っています。しかし、正しく覚えていれば、数字と実際の単語を区別しません(したがって、0184674673 HELLOを持つファイルは両方の単語数を提供します)。複雑ではない方法はありますか? (列の各行を繰り返し、単語に数字があることを確認し、数字がないとカウンタを増やすことが不足しています)この問題を解決するためのコマンドはありますか?

私が提供したファイルの一部については、以下を参照してください。

disobedient RESINY GRAPHICS 低級刺し込み 理解できない es 85790227 evil MINIS ウィンク ボランティア TORPIDITIES サブテキスト割り当てカード EKG 機械焼結 足フェチ Sherpa Fran veto ニュースリーダー 15318116 腐った実行 ヴァンガード langlang7 23国際審査委員会の議論85192973法的責任の回避安全Scrofula排除核種の難破船の序文わいせつな栄養の減圧の男らしい集団の交渉USHERコンプライアンス軽蔑98908803 CANDI DACY Rostovは事前の楽観主義者を滴定します。関節型いぼ RAPINE 94683675​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​》 ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​'​'​”​​​​​​​​​​​​​​​​”​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​'​'​'​'​'』 ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​”

ベストアンサー1

wcを制限しない場合は、sedなどのツールを使用して数値をフィルタリングし、wcを使用して単語数を計算できます。

テストファイルのテキストを考えると、次のようになります。

$ sed -e s/[0-9]*//g testfile

不従順レジングラフィック卑劣な男悪謎ミニ点滅申請者トピティスサブテキスト割り当てられたカード心電図機械焼結足裏執着シェルパフォルランベートニュースリーダー腐った処刑先駆者ランランプロローグ淫乱栄養減圧男らしさ交渉しっかりしたエジプトのブラッディストーリーより価値のある轟音ゴア制御不可能な被害者二重嫌悪魅惑的なゴージャスな気まぐれな失礼な卑劣な卑劣さ事前最適化 IST LUT疣贅 RAPINE 食人種 敵意 KALI 礼拝 カットファインダー アップグレード 収縮拒否 アルプス スタール ヒレス フェミニズム 幸運の家父長制反姦主義

私が使用している正規表現パターンには、数字の後のスペースが削除されないという欠点がありますが、これはwcを使用して計算するのに重要ではないようです。

パイプラインフィルタリングを使用したら、wcを直接使用して単語数を計算できます。

$ sed -e s/[0-9]*//g testfile | wc
  2     104    1035

おすすめ記事