![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
アプリケーションのログファイルから、特定文字列を抽出し、
一致する場合ユーザ名とアクションをまとめたcsvファイルに出力をさせるvbsを作成したいのですが、
いろいろと調べても殆どが結果に結びついていません。
イメージは以下のようなものになります。
インプットファイル(ログファイル)には、以下のように出力されています。
20100601 USER1 update
20100601 USER2 logon
20100601 USER3 delete
.
.
.
.
このファイルから、たとえばupdateを抽出し、その行にupdateの文字列が含まれていたら、
行内にあるUSER1を抽出させます。
処理が終わったら、以下イメージのCSV出力ファイルを作成します。
DATE,USERNAME,logon,update,delete
20100601,USER1,0,1,0
20100601,USER2,1,0,0
20100601,USER3,0,0,1
集計はエクセルを使用するのでカウントはせず、フラグ(1)を立てるだけをイメージしています。
updateの文字列は実際には記号等が含まれるので、grepのような正規表現にて抽出しないと難しい
と思うのですが、vbsでのgrepがちょっとよくわかりません。
http://oshiete.goo.ne.jp/qa/5973058.html
上記アドレスで同じような質問がされていたのですが、
記載内容を実行してもエラー出力されてしまったため、質問させて頂きました。
なにとぞよろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
どう見ても、左から日付8ケタ、
ユーザ名5ケタ、のこりアクションに見えますけど。
そういう仕様で、桁数でちょんぎれば
日付もユーザ名とアクションもいっぺんに取得できますけど。
>検索したい文字列は””で囲んでチェックを行うことをイメージしています。
ちょっと意味がわかりません。
検索したいレコードの中の文字列がわかってるならなにかで囲む必要ないですね。
この回答への補足
出力例は単純にしたイメージで、実際の記載はまったく異なります。曖昧な書き方で申し訳ありませんでした。
アプリケーションのログなので、デスティネーション等の情報が雑多に入り、桁数で抽出するのは不可能です。
また、アクションも「update」のように単純ではなく、=や/等を含んでいる特定文字列です。
No.1
- 回答日時:
>updateの文字列は実際には記号等が含まれるので
検索したい文字列(の仕様)が明確じゃないとだめでしょうね。
ログファイルの内容がスペースで分割されているのであれば、
そのままexcelに読み込んでから処理すればいいとおもいますけど。
テキストを読み込む場合でも、
1行読み込んで、判定して、出力してというのを
繰り返せばいいと思いますけど。
わざわざ抽出する必要はないと思います。
この回答への補足
検索したい文字列は””で囲んでチェックを行うことをイメージしています。
内容はスペース等で分割されてはおらず、
日時毎にイベントをだだだだっと書き込んであるだけのログファイルです。
>テキストを読み込む場合でも、
>1行読み込んで、判定して、出力してというのを
>繰り返せばいいと思いますけど。
>わざわざ抽出する必要はないと思います。
ユーザ名を拾うには、
各単語を検索→同行にあるユーザ名抽出
という必要があるように思えるのですが、なにか誤っているでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
C++/CLIにて、System.String^型...
-
テキストファイルに改行コード...
-
シェルコマンドの 2>&1 とはど...
-
アプリを実行すると、作成者を...
-
出力をExcelにすることは可能??
-
C言語でのppmファイル作成
-
二次元配列をクリップボードに...
-
Acccess レポートをグループ別...
-
VBA フォルダ見える化のコード...
-
エクセルVBA→シート名でCSV出力...
-
C++ fprintf_sの使い方がわからん
-
gccによって、BOM付きのUTF-8で...
-
Wordマクロで指定したフォルダ...
-
pLaTeX の EPSファイル読み込み...
-
ファイル形式またはファイル拡...
-
CreateProcess関数と実行後の戻...
-
COBOLのファイル出力
-
パイソンでのVSコードで
-
構造体のファイル出力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
VC++でUTF-8のファイルを出力し...
-
Acccess レポートをグループ別...
-
ファイル出力の場所を指定
-
ファイル形式またはファイル拡...
-
シェルコマンドの 2>&1 とはど...
-
Wordマクロで指定したフォルダ...
-
テキストファイルに改行コード...
-
fwprintf()について
-
外国語とCSVについて
-
二次元配列をクリップボードに...
-
ファイルの文字コードをUTF-8に...
-
csvファイルでの出力について
-
C言語での印刷方法
-
(VBA)書式が変更されてしまい...
-
フォルダにあるPDF情報の抽出(VBA)
-
C言語での縦方向のファイル出力...
-
CSVファイルを任意の場所に出力...
-
標準出力とファイルに効率的に...
-
CreateProcess関数と実行後の戻...
おすすめ情報