![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| agrekalov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.3.2007 Репутация: нет Всего: нет |
Доброго времени суток: есть такая задача, удалить первую строку из файла, удалить в конце файла символ перевода строки и добавить в конец две строки. С горем пополам и с помощью коллег по изучению Perl'а удалось написать такой скрипт для обработки одного файла:
но файлов многовато для обработки этим скриптом, как сделать для обработки группы файлов ? Файлы имеют расширение .txt размер 11-12 кбайт. |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
Для всех файлов, перечисленных в качестве аргументов к скрипту
Это сообщение отредактировал(а) amg - 20.3.2007, 08:50 |
|||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 3 Всего: 37 |
amg, очень красиво и правильно все показал.
Правда остался еще один вариант, это не заганять файл в массив, используется как правило для больших объемов, а редактировать построчно по мере поступления информации с выводом во временный файл и последующим переименованием.... А вообще это идеальная задача для sed -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
Для всех файлов с расширением $ext в директории $dir и поддиректориях.
(Скрипт запускается без аргументов)
Добавлено @ 09:36 Nab, а как с помощью sed удалить 1-ю строку? Что-то не соображу... |
|||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 3 Всего: 37 |
Правда с удалением последнего перевода строки могут возникнуть трудности, но тоже можно преодолеть -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| agrekalov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.3.2007 Репутация: нет Всего: нет |
Что то для файлов .txt в директории где расположен скрипт не работает, подскажите, где я не правильно списал? |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
Вроде, все правильно (разве что ##! /usr/bin/perl поменять на #!/usr/bin/perl).
Не ругается ли скрипт? Есть ли модуль File::Find? Добавил в скрипт пару строк для отладки. Попробуй еше.
Это сообщение отредактировал(а) amg - 20.3.2007, 15:06 |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
||||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 3 Всего: 37 |
Да пожалуйста
вот у меня на сайте я выложил как-то: http://freesco.linux.kiev.ua/docs/books/sed_awk.shtml по моему лучший минимально необходимый мануал... А с переводом строки я в конце тоже не знаю что сделать... :( всеже sed потоковый редактор и работа со строками у него сделана прозрачно, то есть он перевод строки сам автоматом добавляет и удаляет, и это при написании нужно учитывать... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| agrekalov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.3.2007 Репутация: нет Всего: нет |
||||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 3 Всего: 37 |
Вот чет вспомнил об этой задаче...
и все... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
||||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 3 Всего: 37 |
А она и должна туда дописываться -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |