複数のファイルで1行の発生回数を計算します。

複数のファイルで1行の発生回数を計算します。

いくつかのログファイルがあり、それを収集して特定の行の発生回数を計算する必要があります。

問題は、最初のファイルの特定の行から始まり、その行以降の項目のみを計算する必要があることです。他のすべてのファイルは徹底的に検索する必要があります。最初のファイルだけを最後のx行に制限するだけです。

その後、結果に200を掛ける必要があります。 1つのコマンドでこれを実行したいと思います。

これは2つのログファイルを使用する実際の例ですが、すぐにそれを3つのファイルに拡張する必要があり、誰かがこれを行うより良い方法を見つけることができることを願っています。

expr `tail -n 5147 Log1.log.2013-11-18 | grep "The line I need to count" | wc -l` + `cat Log2.log | grep "The line I need to count" | wc -l` | awk '{print $1"*200"}' | bc

ベストアンサー1

2番目の猫の後に3番目のファイルを追加できるはずです。

expr `tail -n 5147 Log1.log.2013-11-18 | grep "The line I need to count" | wc -l` + `cat Log2.log Log3.log | grep "The line I need to count" | wc -l` | awk '{print $1"*200"}' | bc

例:

$ echo abc > 1.txt 
$ echo cde > 2.txt 
$ echo def > 3.txt 
$ cat 1.txt 2.txt 3.txt | grep d 
cde 
def

おすすめ記事