Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 376
    • Просмотр профиля
Здравствуйте.

В txt файл постояно (построчно) дописывается информация, как можно контролировать количество строк?

Допустим нужно максимум 5000 строк, как автоматически "отрезать" верхние?

Спасибо.

Оффлайн БТР

  • Заслуженный пользователь
  • Модератор форума
  • Старожил
  • *
  • Сообщений: 5367
    • Просмотр профиля
Re: Контроль количества строк в txt файле.
« Ответ #1 : 25 Январь 2019, 11:03:17 »
tail -n 5000 file.txt

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2078
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Контроль количества строк в txt файле.
« Ответ #2 : 25 Январь 2019, 11:17:01 »
Запускаешь по крону или в цикле с нужным интервалом:

cat file.txt | echo "$(tail -n 5000)" > file.txt

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4241
  • Capture the truth
    • Просмотр профиля
Re: Контроль количества строк в txt файле.
« Ответ #3 : 25 Январь 2019, 13:38:23 »
ecc83, Нельзя читать файл и писать в него в одном конвейере! Да и команда не работает.

ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2078
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Контроль количества строк в txt файле.
« Ответ #4 : 25 Январь 2019, 14:01:36 »
Да и команда не работает.

А почему у меня работает? Имя выходного файла можно изменить.

Где ваш вариант правильного решения?


Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1428
    • Просмотр профиля
Re: Контроль количества строк в txt файле.
« Ответ #5 : 25 Январь 2019, 14:16:36 »
А почему у меня работает?

подтверждаю, у меня тоже работает и файл нормально перезаписывается

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4241
  • Capture the truth
    • Просмотр профиля
Re: Контроль количества строк в txt файле.
« Ответ #6 : 25 Январь 2019, 14:19:11 »
Разобрался) Это zsh чудит)

tail -n 5000 file.txt > /tmp/tmp.txt ; cp /tmp/tmp.txt file
Пользователь добавил сообщение 25 Январь 2019, 14:21:57:
А по поводу перезаписи одно и того же файла в конвейере очень давно была на форуме тема - работало это раз через раз. В ряде случаев файл просто затирался. Поэтому лучше и безопаснее использовать временный файл.

Вот сама тема
« Последнее редактирование: 25 Январь 2019, 14:26:39 от ALiEN175 »
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 376
    • Просмотр профиля
Re: Контроль количества строк в txt файле.
« Ответ #7 : 25 Январь 2019, 17:52:32 »
Всем большое спасибо. Получилось.

 

Страница сгенерирована за 0.149 секунд. Запросов: 22.