Привет, ЛОР!
<?php
$string = file_get_contents($argv[1]);
$string = preg_replace('/\x0d(.*)?\x0d(.*)\x0d/U', '\\2', $string);
$string = preg_replace(array('/\x03\d{1,2},\d{1,2}/', '/\x03\d{1,2}/', '/[\x00-\x09]|[\x0b-\x1f]/'), '', $string);
echo($string);
?>
Есть такой вот скрипт. Он убирает из лог-файла цвета и приводит текст в нормальный вид. То есть, из такого лога: https://pastee.org/jx428 (разместил pastee.org, потому что ошибку выдавало: 0x3 is not a legal XML character)
получается такой:
### Log session started at Sun Feb 21 00:00:00 2010 ###
[0:03:25] VARieme [~tfel@127.0.0.1] has joined #linux
[0:03:28] <VARieme> kek0r
[0:03:42] <VARieme> sto ALTER exei xardavela se treles katastaseis :D
Работает скрипт следующим образом:
/usr/bin/php kvirc2txt.php 2012.09.09.log >> log
То есть, перенаправляет исправленный текст в новый файл.
Конечно, я мог бы запустить скрипт так: /usr/bin/php kvirc2txt.php 2012.09.09.log >> ~/patch_new_dir/2012.09.09.log
но лог-файлов около тысячи.
Помогите, пожалуйста, изменить скрипт так, чтобы при запуске /usr/bin/php kvirc2txt.php 2012.09.09.log
скрипт сразу записывал логи в новую директорию с тем же самым именем файла.
Или чтобы можно было указать скрипту папку с логами, а он запишет исправленные логи в новую папку. Но это, наверно, будет сложнее. Подойдёт любой вариант.