The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Конвертирование текста"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Конвертирование текста"  +/
Сообщение от Ami email on 01-Апр-10, 12:14 
есть файл кодировка DOS
сейчас в нем
колличество строк не ограничено как его конвертировать в формат
по 79 байт в строке
есть файл 1.txt
$cat 1.txt
На рабочем столе для каждого пользователя присутствует ярлычок какой-нить красочный. Допустим, происходит обрыв связи. У меня этот момент отлавливается через ннкрон и если связи нет - убивает все процессы, связанные с СМ. Далее, после восстановления связи
...cut
нужно сделать перенос каждой строки в положении 79 символ конец данной строки
80 символ новая строка и так далее по тексту
получаем:
На рабочем столе
для каждого поль
зователя присутс
твует ярлычок ка
кой-нить красочн
ый.
и каждую новую строчку закрыть в кавычки ""
"На рабочем столе"
"для каждого поль"
"зователя присутс"
"твует ярлычок ка"
"кой-нить красочн"
"ый. "
помогите кто знает
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Конвертирование текста"  +/
Сообщение от Pahanivo (ok) on 01-Апр-10, 16:12 
perl

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Конвертирование текста"  +/
Сообщение от Ami email on 01-Апр-10, 16:24 
>perl

а подробнее
я набросал такое
#!/bin/perl -w

open FH, "<", "1.txt";
$l = <FH>;
$position=tell(FH);
seek(FH,$position+10,1);

print "\"$l\"";
print $position;
close FH;
но как добавить бы перенос по строчно строка и 60 символов в ней и так переносило чтоб

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Конвертирование текста"  +/
Сообщение от Pahanivo (ok) on 01-Апр-10, 17:59 
N - требуемая длина

1: читаем строку в строковый буфер (while EOF)
2: отсекаем \n
3: конкатинируем с предыдущей прочитанной (если такая имеется)
4: длина буфера > N ?
нет : goto 1
да : отсекаем N, добавляем \n, записываем в выходной файл

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Конвертирование текста"  +/
Сообщение от Ami email on 02-Апр-10, 08:41 
>N - требуемая длина
>
>1: читаем строку в строковый буфер (while EOF)
>2: отсекаем \n
>3: конкатинируем с предыдущей прочитанной (если такая имеется)
>4: длина буфера > N ?
> нет : goto 1
> да : отсекаем N, добавляем \n, записываем в выходной файл
>
>

все понятно но как вот в чем вопрос я с перлом не особо(

а примером кода не могли бы продемонстрировать
Спасибо.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Конвертирование текста"  +/
Сообщение от Pahanivo (ok) on 02-Апр-10, 09:33 
>[оверквотинг удален]
>> нет : goto 1
>> да : отсекаем N, добавляем \n, записываем в выходной файл
>>
>>
>
>все понятно но как вот в чем вопрос я с перлом не
>особо(
>
>а примером кода не могли бы продемонстрировать
>Спасибо.

примеры построчного чтения для readlline - см в мануале
chomp - отрезка конца
. - конкатенация

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Конвертирование текста"  +/
Сообщение от Ami email on 06-Апр-10, 17:25 
>[оверквотинг удален]
>>
>>все понятно но как вот в чем вопрос я с перлом не
>>особо(
>>
>>а примером кода не могли бы продемонстрировать
>>Спасибо.
>
>примеры построчного чтения для readlline - см в мануале
>chomp - отрезка конца
>. - конкатенация

набросал примерно

open F, "<lolo" or die "Can't open!";
@f=<F>;

for($i=0; $i<=$#f; $i++) {
$f[$i] =~ s/(.{75})/"$1"\n/g;
print "$f[$i]\n";
}
close F;

но он не отрабатывает если в тексте попадается точка(( как обойти

пользовался также
use Text::Wrap
сним получше ,но он умеет только ставить кавычку вначале а в конце нет(

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Конвертирование текста"  +/
Сообщение от Anatoly (??) on 08-Апр-10, 08:59 
скрипты, перлы... в vim три кнопки нажать

$vim file
gqG

:help gq

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Конвертирование текста"  +/
Сообщение от Pahanivo (ok) on 08-Апр-10, 10:03 
>скрипты, перлы... в vim три кнопки нажать
>
>$vim file
>gqG
>
>:help gq

нажать != автоматизация

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Конвертирование текста"  +/
Сообщение от Andrey Mitrofanov on 08-Апр-10, 12:33 
Не-е-е, правильный ответ ~~ "emacs --batch ..." со скриптом %->
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Конвертирование текста"  +/
Сообщение от Pahanivo (ok) on 08-Апр-10, 13:55 
проще разобраться с перл ))
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру