Автор Тема: Как удалить строку из файла  (Прочитано 7668 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« : 01 Апреля 2001, 23:59:48 »
Как удалить строку ( например №3) из файла
если можно примерчик плз..
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн frg

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #1 : 02 Апреля 2001, 06:04:31 »
Закачиваешь содержимое файла в массив (@aa), передаешь cодержимое массива в другой массив (@bb),ведешь счетчик строк, если номер строки (@aa) равен 3, то пропускаешь ее. Вот и все. А потом очищаешь содержимое предыдущего файла и закачиваешь в него содержимое @bb.
frg

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Как удалить строку из файла
« Ответ #2 : 02 Апреля 2001, 07:12:37 »
Цитировать
frg (02-04-2001 07:04):
Закачиваешь содержимое файла в массив (@aa), передаешь cодержимое массива в другой массив (@bb),ведешь счетчик строк, если номер строки (@aa) равен 3, то пропускаешь ее. Вот и все. А потом очищаешь содержимое предыдущего файла и закачиваешь в него содержимое @bb.
А с использованием одного массива, слабо?
:)
2B OR NOT 2B = FF

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #3 : 02 Апреля 2001, 09:33:01 »
Теорию я знаю, примерчик мне бы..........
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн frg

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #4 : 02 Апреля 2001, 09:39:55 »
Можно и так
#!/usr/local/bin/perl

open (FILE,"tt.txt");
@LINES=;
close(FILE);

$le=$#LINES-1;

open(DATA,"+print DATA @LINES[0,1,3..$le];
close(DATA);
frg

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #5 : 02 Апреля 2001, 10:01:27 »
А что нибудь полегче (ведь в этом случае мне надо знать сколько у меня строк, а их кол-во переменчиво)
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн frg

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #6 : 02 Апреля 2001, 10:13:38 »
Ты бы объяснил конкретнее..
frg

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #7 : 02 Апреля 2001, 10:32:07 »
Это должен быть форум (приблизительно как этот) и в нем можно будет изменять вопрос и т.к. я знаю как можно добавить запись я не спрашиваю как заменить строку на строку, а спрашиваю как удалить.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
Как удалить строку из файла
« Ответ #8 : 02 Апреля 2001, 11:13:07 »
Если форум, то почему бы не в базах его расписать? Зачем на файликах его делать?
С наилучшими пожеланиями. LODEVAR

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #9 : 02 Апреля 2001, 11:20:14 »
Как уже сделал (я же только учусь)
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
Как удалить строку из файла
« Ответ #10 : 02 Апреля 2001, 14:38:20 »
Можно и так:

$deleted_line=3;
open(FILE,"text.txt");
$i=1;
while()
{
 if($i != $deleted_line)
 {
  @array[$i]=$_;
 }
 $i++;
}
close(FILE);
open(FILE,">text.txt");
foreach $line (@array)
{
 print FILE $line;
}
close(FILE);
С наилучшими пожеланиями. LODEVAR

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить строку из файла
« Ответ #11 : 02 Апреля 2001, 21:02:18 »
Этот вариант почему-то не работает
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

  • Гость
Как удалить строку из файла
« Ответ #12 : 02 Апреля 2001, 22:00:16 »
Кстати проверил ради интереса. Работает как часы.

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
Как удалить строку из файла
« Ответ #13 : 03 Апреля 2001, 09:05:22 »
Цитировать
Yaroslav (02-04-2001 22:02):
Этот вариант почему-то не работает
Давай разберемся почему. У тебя в локале не работает, или в нет закачал и там не пашет? Какую ошибку выдает? Или он работает не так, как ты ожидал от него... ;-)
С наилучшими пожеланиями. LODEVAR

  • Гость
Как удалить строку из файла
« Ответ #14 : 03 Апреля 2001, 11:06:05 »
У него уже все работает :)
Он вчера меня в IRCe нашел ;)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28