@Cyberhoy

Как очистить логи с помощью Ruby?

Добрый день. Сразу оговорюсь, что даже не джун. Есть гигабайтный файл логов и два вопроса:
1. Как обрезать в каждой строчке последние n символов? Пишу вот что:

#создаём файл для вывода данных
clear = File.new("C:/users/x/ruby/clear.txt", "w+")
#открываем рабочий файл
logs = File.open("C:/users/x/ruby/logs.txt",'r+')
#применяем к каждой строке
logs.each do |line|
#обрезаем последние n символов для каждой строки
n.times do line.chop!
#как на этом моменте записывать результат в новый файл?
end
end

2. Как искать в каждой строчке логов упоминание определённого слова?
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AVKor
Так, например:
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)
Ответ написан
Комментировать
1.
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
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы