Pythonのお勉強 Part62 (453レス)
Pythonのお勉強 Part62 http://mevius.5ch.net/test/read.cgi/tech/1568616071/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
174: デフォルトの名無しさん [sage] 2020/05/05(火) 15:40:34.82 ID:rwJ86+M0 grep -E '^\||Error' -Hd skip ./**/*.log -E で正規表現。 -d skip で、ディレクトリ名を非表示。 -H で、ファイル名も表示。 ディレクトリの再帰は、./**/* 出力 ./test/test01.log:0501 Error! ./test/test01.log:|まちがってるよ ./test/test01.log:|まちがってるよ この出力から、: の前をファイル名、後を行に、分解すればよい Ruby の、glob でも出来るけど http://mevius.5ch.net/test/read.cgi/tech/1568616071/174
180: デフォルトの名無しさん [sage] 2020/05/05(火) 18:51:52.49 ID:rwJ86+M0 Ruby で作った # . で始まる、隠し directory, file を除く glob_pattern = "/mnt/c/Users/Owner/Documents/test/**/*.log" re = /^\||Error/ first_time = true # 最初の1回だけ Dir.glob( glob_pattern ) .select { |full_path| File.file?( full_path ) } # ファイルのみ .each do |full_path| # 末尾の改行を削除して、1行ずつ処理する File.foreach( full_path, chomp: true ) do |line| line.match( re ) do |matched| # 一致した行だけ if first_time # 最初だけ puts full_path first_time = false end puts line end end first_time = true end 出力 /mnt/c/Users/Owner/Documents/test/test/test01.log 0501 Error! |まちがってるよ |まちがってるよ /mnt/c/Users/Owner/Documents/test/test02.log |xx bb Errorzz http://mevius.5ch.net/test/read.cgi/tech/1568616071/180
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s