2017-07-03 4 views
0

初めてこの質問を投稿する前にいくつかの基本事項をスキップして謝罪しています。RedHat Linux 7のファイルから特定の文字列を出力する - Regexの可能性があります

基本的に私の質問はかなり単純です....私は非常に頻繁に書かれたファイルを持っており、最初の文字列/列には常に「クリア」または「クリティカル」、時には「警告」という単語がありますが、それらのエントリを無視します。

第17列の周りには、各エントリに付随する特定の32ビット英数字番号があります。私は、元のファイルを変更せずに、方法を見つけることを試みています....最初の列だけを書き出し、32ビットのアルファベット数字を新しいファイルに入れてください。残念なことに32ビットは常にカラム17にあるわけではありません。そうでなければ、私自身でこれを行うことができます。

ここでは、私が参照しているログファイルの一部を見ています。私の質問が十分に詳細でないか、以前に答えがあった場合、私の無知で私を強く怒らせてはいけません。

クリア; lnx20162.csxt.csx.com;データベースインスタンス。 actd; 12月14日、 2012年4月46日PM EST、 D0C53D1FB19075C2E0405C0A6FF002BF;メトリックアラート ;応答:状態。データベースのステータスはOPENです。

CRITICAL; lnx20016.csxt.csx.com;データベースインスタンス。 GISP_GISP2; 2012年12月14日4:39:54 PM EST; D0C53D32C0E53F85E0405C0A6FF002C9; メトリックアラート。 alertLog:genericErrStack; ORAエラースタック(4,031) /oramisc01/oracle/diag/rdbms/gisp/GISP2/trace/alert_GISP2.logにログインしました。

CRITICAL; lnx20016.csxt.csx.com;データベースインスタンス。 GISP_GISP2; 2012年12月14日4:40:00 EST; D0C53D32C1093F85E0405C0A6FF002C9; メトリックアラート。 alertLog:genericErrStack; ORAエラースタック(04031、 04031) /oramisc01/oracle/diag/rdbms/gisp/GISP2/trace/alert_GISP2.logにログインしました。

CRITICAL; lnx20016.csxt.csx.com;データベースインスタンス。 GISP_GISP2; 2012年12月14日4:39:55 PM EST; D0C53D32C0EB3F85E0405C0A6FF002C9; メトリックアラート。 alertLog:genericErrStack; ORAエラー・スタック(04031、 04031,04031,04031,04031) /oramisc01/oracle/diag/rdbms/gisp/GISP2/trace/alert_GISP2.logにログインしてください。

+1

に入れ、すべての時間を行われたい場合、私は '分離器を使用して、カラム6に常に英数字を参照してください;'私は何かを逃したのですか? (また、32ビットのように見えません - あなたは必要な番号を明るくすることができますか?) – urban

+0

'cut -sd ';' -f 1,6'? – melpomene

+0

コード/データの先頭に4つの空白を付けます。 [edit-help](http://stackoverflow.com/editing-help)を見てください。 – Cyrus

答えて

0
grep -E -o "EST ;.{0,33}" file1| cut -d ";" -f2 > outputfile 

あなたはある一貫した「フック」を見つける必要がある「ESTを。」

あなたは、これは、分に言うスクリプトを作成し、crontabの

関連する問題