ファイルやシェル変数からアルファベット文字を計算するより良い/簡単な方法を見つけようとしています。

ファイルやシェル変数からアルファベット文字を計算するより良い/簡単な方法を見つけようとしています。

次のテキストを含むファイルがあります。

we are going to write something 1 2 3

wc9つの単語と38文字の1行があると教えてください。

a-z26文字(、数字やスペースを除くなど)のみを計算したいと思います。

これが私の現在のソリューションです。

grep -o [[:alpha:]] filename | wc -l

コマンドラインでこれを行う「より良い」方法があるかどうかを知りたいです。

ベストアンサー1

アルファベット以外の文字をすべて削除し、tr結果の文字数を計算します。trソリューションとあなたのソリューションの両方を組み込みソリューションbashに渡すと、timeこのtrソリューションが少なくとも私のシステムでは約5倍速いことがわかります。

tr -cd '[:alpha:]' <filename | wc -m

おすすめ記事