Pythonのお勉強 Part62 (455レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

163
(7): デフォルトの名無しさん [sage] 2020/05/05(火) 12:44:32.20 ID:lrlqOn2p(1/3) AAS
フォルダ構成が複雑な、ものすごい膨大なlogファイルから、
特定のワードが含む行と、ファイル名を抽出したいのですが、
・サブフォルダを巡回して命令を実行する
・ファイル名のあとに、検索結果を出す
のやり方がわからず、躓いております。

参考になりそうなサンプルがあればご教示いただけますでしょうか。

test01.log
-----------------------------------
0501 問題ないよ
0501 Error!
|まちがってるよ
|まちがってるよ
0501 問題ないよ
-----------------------------------

このうち
・「Error」のある行
・| ではじまる行
を抜き出し、このような出力結果を希望しています。

test01.log
-----------------------------------
0501 Error!
|まちがってるよ
|まちがってるよ
-----------------------------------

「Find」「再帰的」「文字列」「検索」「Python」「テキストマイニング」などで検索をするも、これといった情報が得られず……
参考になりそうなURL、「こういうワードで検索しろ」などあればお願いします。
177: 163 [sage] 2020/05/05(火) 17:41:03.01 ID:lrlqOn2p(2/3) AAS
たくさんのご返信ありがとうございます。

>>164
164(1): デフォルトの名無しさん [sage] 2020/05/05(火) 12:47:27.09 ID:hpwOcr6+(1) AAS
>>163
globモジュール
with open
f.readlines
strクラスのfindメソッド

一回公式のPythonチュートリアルを全てやってみることをお勧めする
ありがとうございました。
ご推察の通り、Pythonは本を一冊読んだ程度の知識しかありません。
チュートリアル一通り試してみます。

>>165
165(3): デフォルトの名無しさん [] 2020/05/05(火) 13:47:12.99 ID:JDagEH9a(1/2) AAS
Perl時代の教科書は一章まるまる使って正規表現説明してたが
Pythonじゃあそういうことは無くなった

なので現代では言語に関わりなく「正規表現」というキーワード自体知らない、ということが起こってるのではなかろうか

Python チュートリアル ― Python 3.8.3rc1 ドキュメント
外部リンク[html]:docs.python.org

公式チュートリアルでも「標準ライブラリミニツアー」の箇所にちょっと置かれているだけで、扱いが非常に小さい
つまり、初心者はそこまで念入りには読まないだろうから、キーワード自体を知らない
ありがとうございます。
その二つのドキュメントも読み込んでみます。

>>167
167(1): デフォルトの名無しさん [sage] 2020/05/05(火) 14:15:49.76 ID:uTsiWylk(1/2) AAS
>>163
grep使えって

出力フォーマットが気に入らないなら
ripgrep使うかgrep -lをループさせればいい

$ rg -n "^¥||Error" ./*.log
./test02.log
2:0501 Error!
3:|まちがってるよ
4:|まちがってるよ

./test01.log
2:0501 Error!
3:|まちがってるよ
4:|まちがってるよ
ありがとうございます。
申し遅れておりましたが、Windowsユーザーです。
ただ、教えていただいたコマンドを調べてみると、
Windowsでもインストールすれば、ripgrepを扱えるみたいですね。

必ずしもPythonにこだわらなければならないわけでもないので、
(学習中だったので、使ってみたかった程度)
コマンドでの解決も検討してみます。

>>171
>>174
ありがとうございます。
必ずしもPythonでなくてもよいので、Grepやfindstrも調べてみます。
178: 163 [sage] 2020/05/05(火) 17:41:16.65 ID:lrlqOn2p(3/3) AAS
>>175
175(5): デフォルトの名無しさん [] 2020/05/05(火) 16:29:06.07 ID:E9jCQTmY(1) AAS
>>163
外部リンク:ideone.com

組み込み関数やライブラリで同等の機能が用意されているにも関わらず正規表現書くのはやめてほしい
ありがとうございます。
すごい! まさに私の理想通りの出力結果になりました。

自分なりにいただいたソースコードを調べて、勉強させていただきます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s