ヘルプを書き、次を実装してください。 ディレクトリ内の多くの.logファイルがありますが、彼らはつまり、唯一の必要な行を読んで、Excelのテーブルに表示する必要があります解析.logファイルやExcel
Blade 11
Model: ProLiant BL460c Gen9
Manufacturer: HP
Serial Number: XXXXXXXXX
Part Number: 727021-B21
Spare Part Number: 820254-001
Mezz 1
Model: HP QMH2672 16Gb FC HBA for BladeSystem c-Class
Manufacturer: QLogic
Serial Number: MY56140NML
PCA Serial Number: MY56140NML
Part Number: 710608-B21
Spare Part Number: 711305-001
Product Ver:
Adaptive Fabric Adapter 1
Model: HP FlexFabric 10Gb 2-port 536FLB Adapter
Manufacturer: HP
Serial Number: 7C453705WV
PCA Serial Number: 7C453705WV
Part Number: 766490-B21
Spare Part Number: 768080-001
Product Ver: 00
Excel 'ブレード' でテーブルを表示する必要がある:
Blade | Model | Manufacturer | Serial Number | Part Number | Spare Part Number
11 ProLiant HP CZJ42800G4 XXXXXXXXX 820254-001
12 ProLiant HP CZJ42800G5 XXXXXXXXX 820254-002
サーバはルビー、PHP、Perlを持っています。 そしてsedとawkにはオプションがありますか?
私はこの方法を実装しようとしたが、私はアクションのアルゴリズムを理解していませんOK:
require 'find'
require 'spreadsheet'
dirs = []
filelog = []
workbook = Spreadsheet::Workbook.new
heading = Spreadsheet::Format.new(:weight => :bold, :size =>10, :border => :thin, :align => :merge, :pattern_fg_color => :green, :pattern => 1)
normal = Spreadsheet::Format.new(size: 10)
worksheet = workbook.create_worksheet name: 'Blade_name'
heading_row = worksheet.row(0)
heading_row.set_format(0, heading)
heading_row.set_format(1, heading)
heading_row.set_format(2, heading)
heading_row.set_format(3, heading)
heading_row.set_format(4, heading)
worksheet.row(0).concat(['Blade name', 'Model', 'Manufacturer', 'Part Number', 'Spare Part Number'])
worksheet.column(0).width=70
worksheet.column(1).width=19
worksheet.column(2).width=35
worksheet.column(3).width=19
worksheet.column(4).width=15
# Find.find("/home/web/projects/get_log") do |f|
# if FileTest.directory?(f)
# dirs.push(f)
# else
# filelog.push(f)
# $stderr = File.open(filelog, "a+")
# end
# end
$stderr = File.open('1.log', "a+")
match = line.match('Blade')
if match.nil?
else
@results << convert_to_hash(match)
puts @results
end
そして、どのように各ラインを計算し、ブレードと比較すると、私は(= を知っているか、行きません正規表現による?
SOそれはあなたを助けるためにあります、あなたのための人々のコードを聞かせする場所ではありませんインターネット上のいくつかの調査を含めて、あなた自身で1つを見つけようとした後に解決策に来ないならば、あなたの問題と一緒に。 –
1時間あたり1ドル= – ssr1012
ほぼYAMLですが、それほどではありません。葉巻はありません。 – Sobrique