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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

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

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

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

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

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

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

Спасибо.

Оффлайн БТР

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

Оффлайн ecc83

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

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

Оффлайн ALiEN

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

🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн ecc83

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

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

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


Оффлайн bezbo

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

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

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
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 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

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

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

 

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