0
フォルダとサブフォルダに一連のログファイルがあります。 特定のログの出現回数をファイルのタイムスタンプとともに表示したい。 ここでは、解決のために1つのフォルダの下でのみ検索するコマンドを簡略化しています。grepとls -lrtの出力をマージするLinuxコマンド
grep
コマンドでは、オカレンスまたはファイル名の数はわかりますが、タイムスタンプは指定できません。もし私がls
コマンドでそれをパイプすると、私は出現回数を失う。私がls
をgrepに出力すると、私はタイムスタンプを失います。
以下はサンプルコマンドです。私は2番目のコマンドのファイル名の後に最初のコマンドからの発生の数が必要です。
----/logs/server> grep -c 'sample search text' * | grep -v :0
i0_server2_wls.log:980
i0_server2_wls.log00005:20
i0_server1_wls.log:4
i0_server1_wls.log00023:186
i0_server1_wls.log00024:767
i0_server1_wls.log00027:49
i0_server1_wls.log00028:401
i0_server1_wls.log00029:199
i0_server1_wls.log00031:8122
i0_server1_wls.log00033:7744
i0_server1_wls.log00034:18476
----/logs/server> grep -l 'sample search text' * | xargs ls -lrt
-rw-r--r-- 1 mygroup myuser 41824670 Jul 8 20:42 i0_server1_wls.log00023
-rw-r--r-- 1 mygroup myuser 71726325 Jul 19 20:45 i0_server1_wls.log00024
-rw-r--r-- 1 mygroup myuser 91704808 Aug 22 17:47 i0_server1_wls.log00027
-rw-r--r-- 1 mygroup myuser 56183363 Aug 29 18:33 i0_server1_wls.log00028
-rw-r--r-- 1 mygroup myuser 162665267 Sep 6 20:14 i0_server1_wls.log00029
-rw-r--r-- 1 mygroup myuser 80384219 Sep 28 22:03 i0_server2_wls.log00005
-rw-r--r-- 1 mygroup myuser 170614866 Nov 19 22:35 i0_server1_wls.log00031
-rw-r--r-- 1 mygroup myuser 142315429 Dec 8 20:48 i0_server1_wls.log00033
-rw-r--r-- 1 mygroup myuser 335498557 Dec 12 22:38 i0_server1_wls.log00034
-rw-r--r-- 1 mygroup myuser 62375653 Dec 13 19:23 i0_server2_wls.log
-rw-r--r-- 1 mygroup myuser 38069112 Dec 13 19:23 i0_server1_wls.log