![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 特定のメッセージが表示されるまでは、ファイルgrep'ing | pallak7 | シェルプログラミングとスクリプティング | 3 | 2009年4月23日 11:48午前 |
| 特定のディレクトリに対して、 grep'ingとファイルを移動するには、出力を用いて | JayC89 | シェルプログラミングとスクリプティング | 1 | 2008年12月6日 03:37午前 |
| シェルスクリプトの高速化(ループを見つけるのはgrep ) | デイブStockdale | UNIXのダミー質問と回答のため | 8 | 2008年8月11日 04:36午前 |
| ファイル処理の高速化 | dlam | シェルプログラミングとスクリプティング | 4 | 2008年7月19日 12:47午後 |
| Sunは、 Solaris環境でのコンパイルが高速化する | swamymns | シェルプログラミングとスクリプティング | 2 | 2006年7月12日 12:06午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
私は、 20 〜 80 + MBのサイズでは、ログファイルの特定のタイプされているファイルがあります。
これは、複数のプロセスの1つのスレッドと、このプロセスが記録されます。そのため、ログファイルには、混乱の種です。例: ログファイルのようになります: "日付時間-スレッドID -詳細"で、それぞれの日のための新しいファイルが作成されます 引用:
セッションは30秒から4分ほどには、ログファイル( 〜 1200行) 、 20の同時セッションをすることができます最後にすることができます。 今、私は作品-は、非常にゆっくりと何かをしている。私がgrepping終了し、ファイルを繰り返しsedding 。ファイルが大きい場合には、膨大な時間がかかります。私は、ここに私、この最適化を支援していただきたいと思います。可能であれば、私はbashを使用するようにしたいのですが。 ありがとう、 エリック ここに私は、作品ですが、しているコードです_slow_ コード:
if [[ -e "$log_file" ]]
then
echo "parsing: "$log_file
grep "starting session" $log_file | while read line
do
thread=`echo $line | cut -d' ' -f4`
sessiontype=`echo $line | cut -d' ' -f6`
sessionnumber=`echo $line | cut -d' ' -f7`
echo " first line of session: "${line:0:25}"..."
line2=`echo - $thread - $sessiontype $sessionnumber shutting down`
echo " last line of session: "${line2:0:25}"..."
sed -n "/$line/,/$line2/p" $log_file | grep " - $thread - ">session.$thread.$sessiontype.$sessionnumber
done
....
引用:
|
|
||||
|
このしてください-
$ソート- k膜4ログファイル| awkは' NR \u003d\u003d 1 ( \u003d $ 4 ;テキスト\u003d "セッションの前へ。 " $ 4 " 。 " $ 6 " 。 " $ 7 ; printf ( " % sは\ Ñ % S "は、テキスト、 $ 0 ) ; getliine ) (場合(前へ! 〜 $ 4 ) (テキスト\u003d "セッション。 " $ 4 " 。 " $ 6 " 。 " $ 7 ; printf ( " % sは\ Ñ % S "は、テキスト、 $ 0 ) ;前へ\u003d $ 4 )他(印刷$ 0 ;前へ\u003d $ 4 ) ) ' このようなことを行います- session.11F.Processing 。 20090409 000127 - 11F - Processing20090409 000127 - 11F -処理 20090409 000127 - 11F - 543クエリを開始セッション session.BD0.More.Processing 20090409 000122 - BD0 -その他のProcessing20090409 000125 - BD0 -その他の処理 20090409 000126 - BD0 -オーダー123をシャットダウン 20090409 000122 - BD0 -オーダー123セッションを開始 20090409 000122 - BD0 -処理1 20090409 000124 - BD0 -処理2 session.DD1.Cancel.345 20090409 000125 - DD1 -キャンセル345 - DD1 - session20090409 000125処理を開始 20090409 000126 - DD1 -処理2 session.EF0.Order.234 20090409 000123 - EF0 -オーダー234 - EF0 -処理を開始session20090409 000124 20090409 000125 - EF0 -処理 乾杯、 Devaraj Takhellambam |