C
C
Cyberhoy2019-04-18 21:05:38
ruby
Cyberhoy, 2019-04-18 21:05:38

How to clear logs with Ruby?

Good afternoon. I’ll make a reservation right away that it’s not even June. There is a gigabyte log file and two questions:
1. How to cut off the last n characters in each line? I write this:
#create a file for data output
clear = File.new("C:/users/x/ruby/clear.txt", "w+") #open
the working file
logs = File.open("C:/users /x/ruby/logs.txt",'r+') #apply logs.each
to each line
do |line|
#trim the last n characters for each line
n.times do line.chop!
#how to write the result to a new file at this moment?
end
end
2. How to search for a mention of a certain word in each line of the logs?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
AVKor, 2019-04-18
@AVKor

For example:

n = 3
clear = 'C:/users/x/ruby/clear.txt'
logs = 'C:/users/x/ruby/logs.txt'
File.open(clear, 'w') do |f|
  File.open(logs).each do |line|
    f.puts line[0...-n]
  end
end

2.string.include?(substring)

R
Roman Mirilaczvili, 2019-04-18
@2ord

one.

n = 2
p "hello"[0..-1-n]

File.open('Gemfile', 'r') do |f|
  f.each_line do |line|
    clear.write( line.chomp[0..-1-n] )
  end
end

2. index method

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question