数100MB単位のテキストを解析するには、
どのような手法が考えられますか。
ファイルが大きすぎるため、Terapadや,Vim、VXEditor等のテキストエディタでは、
まともにファイルを開くこともできません。
状況としては、下記のようなフォーマットで記述されているテキストファイルから、
文字列検索して、目視で確認ということがやりたいです。
------------------
[2011-02-01 12:00:00] Title エラー内容
[2011-02-01 12:01:00] Title エラー内容
...
------------------
現状ではCentOSで以下の手順をとっています。
1. grepを使って『error』という文字列で列番号ごと引っ掛ける
# grep -b "fault" hogehoge.log > fault.txt
2. lessでログファイルを参照
# less fault.txt
3. 列番号にとんで、目視で確認
OSは、CentOSかWindowsで行える方法が好ましいです。
なにかいい方法があれば教えていただきますでしょうか?
以上、宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
???
1行1データのテキストファイルなら、そんな面倒なことしなくても、単純に
grep "検索文字列" hogehoge.log
でいいんじゃないの?
CentOSに入っているGNU版のgrepなら「-C 5 」とオプション付ければ前後5行、5を変えれば任意の行表示できますし。
-B,-Aオプションで前後別々に表示行を指定もできますし。
他にも
・splitでファイルを分割する
・sedで必要なところだけ抜き出す
・CentOS上だったら、多少の時間はかかるにせよ、数百MBくらいで「開けない」ことはまず無いと思うんですが。スワップとかtmpとかの設定は大丈夫?
・上記から、vimで問題無く開けるはずですが。
・同じく、 less hogehoge.log で開けませんか?開いた後で /?とnN で検索できますし
なんにせよ、何を目視確認したいかが不明なので、この程度のアドバイスしかできません。
1行1データではなく、複数行に渡っていたため、扱いに困っていました。
grepの-A オプションで複数行出力し、快適にエラーチェックができました。
ありがとうございます。
No.4
- 回答日時:
では、私も EmEditor のご案内を。
http://jp.emeditor.com/
最大 248 GB (または21億行) という非常に大きなファイルを、少ないメモリでスムーズに開くことができるようになりました。さらに、巨大ファイルを開く速度を最適化し、従来のバージョンよりも一段と早くファイルを開けるようになりました。
ということです。
Windows のソフトですが、これだと、オリジナルのログファイルを直接読み込んで、「検索」で該当場所を探すことができるでしょう。
少なくとも、Windows なら、grep の代わりに、find を使えば、該当行の切り出しはできますから、それを切り出したファイルは、参照可能だと思います。
回答ありがとうございます。
findコマンドは、知りませんでした。grepに近い感じなのですね。
Windows開発時に試したいと思います。
No.3
- 回答日時:
エディターで見るのを優先するなら、
split(参考URL参照)というコマンドがありますので、
それでファイルを分割して、小さくしてから
エディターで見るのはいかがでしょうか。
参考URL:http://itpro.nikkeibp.co.jp/article/COLUMN/20060 …
No.1
- 回答日時:
有料ですが、
MIFES8
最大2GB×100ファイルまでオープンでき、大容量ファイルも高速に読み込みます。
参考URL:http://www.megasoft.co.jp/mifes8/product/
MIFES6は使ったことがあるのですが、大容量ファイルにも対応していたのですか。
今回は、有料なので敬遠させていただきます。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
ガラケーからPCへの写真の取り込み
-
iPhoneの内蔵の記憶媒体は、HDD...
-
複数のブックを新しいブックのS...
-
stdio.hの中身
-
ファイル数と合計サイズの取得方法
-
クリッカブルマップ(イメージ...
-
PC内で速度を遅くした音源をCD...
-
A4の紙に印刷されている文字を...
-
拡張子「.IDJ」を、windo...
-
EXCELマクロでのtifファイルの...
-
プロがDreamWeaverを使わない理...
-
VBA:カウンターの i の値が開放...
-
スマホでtxtファイルを編集する...
-
いいエディター探してます。
-
TextBoxにフォーカスを与えると...
-
ドアスコープへの取り付けに向...
-
CD/DVDメディア挿入の検知
-
ホームページビルダーのプレビ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
複数のブックを新しいブックのS...
-
A4の紙に印刷されている文字を...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
ビデオファイルのプロパティの...
-
エアコンの冷媒 R410Aの重...
-
ガラケーからPCへの写真の取り込み
-
拡張子「.IDJ」を、windo...
-
Fortniteのクラッシュについて
-
2枚、マイクロSDカードを入...
-
VBA:カウンターの i の値が開放...
-
ファイル数と合計サイズの取得方法
-
stdio.hの中身
-
TextBoxにフォーカスを与えると...
-
PC内で速度を遅くした音源をCD...
-
リストビューの選択状態を取得...
-
GIMP separate+プラグイン クラ...
おすすめ情報