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


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

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

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

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

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

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

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

Спасибо.

Оффлайн БТР

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

Оффлайн ecc83

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

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

Оффлайн ALiEN175

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

ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн ecc83

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

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

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


Оффлайн bezbo

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

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

Оффлайн ALiEN175

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5374
  • Сделай шаг и пройдешь милю
    • Просмотр профиля
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 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

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

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

 

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