+ + +
Человек-оркестр
С нами с 19.11.02
Сообщения: 4755
Рейтинг: 1027
|
Добавлено: 24/07/09 в 12:31 |
Имеется пачка файлов. Нужно удалить лишние переносы строки.
Алгоритм:
Если в конце строки 1 нет знака препинания (кроме запятой) и/или строка 2 начинается с маленькой буквы - то перенос строки между ними удаляется.
Чем можно такое сделать?
С меня рейтинг/пиво.
|
|
|
|
С нами с 07.10.01
Сообщения: 4835
Рейтинг: 3672
|
Добавлено: 24/07/09 в 12:36 |
|
|
|
|
С нами с 29.09.06
Сообщения: 1127
Рейтинг: 1237
|
Добавлено: 24/07/09 в 12:38 |
|
|
|
|
Раздаю инвайты, ищу линк-трейд
С нами с 20.08.04
Сообщения: 16631
Рейтинг: 8593
|
Добавлено: 24/07/09 в 12:39 |
Я в хомсайте регулярками пользуюсь
|
|
|
|
+ + +
Человек-оркестр
С нами с 19.11.02
Сообщения: 4755
Рейтинг: 1027
|
Добавлено: 24/07/09 в 13:26 |
а кто-нибудь может подсказать такое регулярное выражение? я в этом ни в зуб ногой.
|
|
|
|
Мотиватор :)
С нами с 06.05.09
Сообщения: 3028
Рейтинг: 607
|
Добавлено: 24/07/09 в 14:05 |
PHP-скриптом
Код: |
<?php
$total = 0;
// исходные файлы лежат в директории input в текущей директории
if ($handle = opendir("./input"))
{
while (false !== ($file = readdir($handle)))
{
// если это - не элемент директории . и ..
if ($file != "." && $file != "..")
{
// читаем исходный файл
$input = file_get_contents("./input/". $file);
$str = "";
// для виндовых файлов перенос строки CRLF, убираем LF
$input = str_replace("\r", "", $input);
// строку - в массив
$tmp = explode("\n", $input);
// для всех элементов массива
foreach ($tmp as $s)
{
$s = trim($s);
$str .= $s;
// если в конце точка, добавляем перенос строки
if (substr($s, strlen($s)-1, 1)==".") $str .= "\n";
}
// сохраняем преобразованный файл
$f = fopen("./output/". $file, "w");
fputs($f, $str);
fclose($f);
$total++;
}
}
closedir($handle);
}
else
{
die("Can't open ./input");
}
echo "{$total} files processed";
?>
|
|
|
|
|
+ + +
Человек-оркестр
С нами с 19.11.02
Сообщения: 4755
Рейтинг: 1027
|
Добавлено: 24/07/09 в 14:25 |
Увы, не работает. Выдает
83 files processed
и ничего не изменилось.
Права и т.п. естественно выставил.
|
|
|
|
С нами с 19.07.06
Сообщения: 252
Рейтинг: 346
|
Добавлено: 24/07/09 в 18:49 |
http://www.datamystic.com/textpipe.html
Утилита для пакетной обработки текстовой информации. Программа служит для форматирования и конвертирования текстовых файлов, замены в них текста, выполнения сложных преобразований, конвертирования текста из одного формата в другой. В TextPipe Pro встроено почти полторы сотни фильтров.
|
|
|
|
С нами с 27.01.03
Сообщения: 156
Рейтинг: 187
|
Добавлено: 24/07/09 в 21:40 |
а так?
... =~ s/([^?!:;.-])\n/$1/gsi;
софт называется /usr/bin/perl
|
|
|
|
+ + +
Человек-оркестр
С нами с 19.11.02
Сообщения: 4755
Рейтинг: 1027
|
Добавлено: 25/07/09 в 00:02 |
Огромное спасибо и ценный приз достается Cynic'у, который написал готовый скрипт.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |