ディレクトリ内のファイルの結合された単語数

ディレクトリ内のファイルの結合された単語数

wcディレクトリ範囲内の特定のファイル(.txtファイルなど)に対してのみ結合された単語数を返すことはできますか?

答え1

GNU wcを使用すると(少なくとも)、次のようにfind結果を組み合わせることができますwc 。

find folder/ -name '*.txt' -print0 |   wc -w --files0-from=-

これはすべての機能を提供しますfind(正直に終わるすべてのファイルを見つけたい場合は少し過剰です.txt)、最も奇妙なファイル名(改行など)も処理できます。

答え2

私はあなたの状況を正確に理解していますか?したがって、Documentsというフォルダにあり、そのフォルダ内に複数のフォルダがあると仮定し、そのディレクトリにディレクトリ(cd)を変更し、そのディレクトリ内の各フォルダにいくつのフォルダがあるかを計算しようとします。サブフォルダ?

これが意味するなら、次のようにすることができます。

$ ls -R *.txt | wc -l

ls =リスト。 -R = 各サブフォルダーの繰り返し *.txt = .txt で終わる文字数

| = に渡されました。

wc -l =どのくらいの数をカウントします。

答え3

以下は、ちょうどxargsを介して作成された素晴らしい一行の内容です。 macOSでテストしました。

find . | grep -E "(.*\.js.*|.*\.txt|.*\.css|.*\.htm.*|.*\.sh|.*\.scss|.*\.md|.*\.java|.*\.conf|.*\.yaml)" | sed "s/^/\"/" | sed "s/$/\"/" | xargs -J thefile wc thefile

ファイル名のスペースを処理します。 Linuxで-Jを-Yに変更できますか?芝刈り機がLinuxボックスへのイーサネット接続を切断しているので、今はテストできません。

関連情報