Получить последнее измененное содержимое с момента последнего чтения

Как я могу получить последнее измененное содержимое файла с момента его последнего чтения?

Что-то более точное, что это:

tail - <nr >file_1.txt >file_2.txt 

где file_2.txt получает последнее измененное содержимое.

One Solution collect form web for “Получить последнее измененное содержимое с момента последнего чтения”

Единственный способ, которым я могу придумать что-то подобное, – сохранить копию файла во временном названии, когда вы в последний раз прочитаете его, а затем, когда вы снова прочитаете его, вам понадобится использовать такой инструмент, как diff сравните ранее прочитанную копию файла с текущей версией файла.

пример

Некоторые примеры файлов.

 $ seq 10 > somefile.txt $ ls -l |grep somefile.txt -rw-rw-r-- 1 saml saml 21 Oct 26 13:29 somefile.txt 

Теперь давайте прочитаем.

 $ cat somefile.txt | tee somefile_READ1.txt 1 2 3 4 5 6 7 8 9 10 

Здесь команда tee покажет нам файл и создаст «резервную копию», которая покажет нам строки, которые мы читаем в следующий раз. Теперь мы остаемся с этими файлами:

 $ ls -l |grep somefile -rw-rw-r-- 1 saml saml 21 Oct 26 13:30 somefile_READ1.txt -rw-rw-r-- 1 saml saml 21 Oct 26 13:29 somefile.txt 

Теперь добавляются дополнительные строки:

 $ seq 11 20 >> somefile.txt 

Мы можем видеть по дате, когда она была написана с того момента, когда мы читаем ее, сравнивая даты двух файлов:

 $ ls -l |grep somefile -rw-rw-r-- 1 saml saml 21 Oct 26 13:30 somefile_READ1.txt -rw-rw-r-- 1 saml saml 51 Oct 26 13:32 somefile.txt 

Теперь сравните 2 файла:

 $ diff -y somefile.txt somefile_READ1.txt | column -t 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 < 12 < 13 < 14 < 15 < 16 < 17 < 18 < 19 < 20 < 

Выше мы видим 2 файла бок о бок. Обновленное содержимое файла находится слева, исходное содержимое – справа.

Если вы хотите увидеть различия, вы можете использовать эту форму diff :

 $ diff somefile.txt somefile_READ1.txt 11,20d10 < 11 < 12 < 13 < 14 < 15 < 16 < 17 < 18 < 19 < 20 
  • «Tail -f», используя «tcpdump -r»
  • Очистить окно терминала до выхода хвоста -f
  • В чем разница между «tail -f» и «tail -F»?
  • tail -f, без использования опроса
  • Что делает «хвост -f»?
  • Как связать файл по сети?
  • эхо-строки файла - но не более N символов в строке
  • удаление дубликатов с хвостом
  • Трубопроводные периодические данные между сценариями Python
  • Что такое обратная сторона хвоста -c + K?
  • Может кто-нибудь объяснить мне эту хвост + линию?
  • Является ли это поведение хвоста в командах группировки, заданных POSIX?
  • Interesting Posts

    Как создать удаленный репозиторий и обновить его с помощью apt-get?

    Есть ли глобальный grep.conf в Unix / Linux?

    Лучший способ следить за журналом и выполнять команду, когда в журнале появляется текст

    Как рассказать браузеру Chromium для запуска URL-адреса как одного экземпляра, а не нескольких экземпляров?

    Не удается найти файл общих объектов, даже если он находится в пути к библиотеке

    Как сбросить пароли Linux root и grub?

    Открытие отдельного порта работает, но не диапазон портов в FirewallD

    Почему пользователь запускает процесс, когда он не вошел в систему?

    Проблема с обновлением mint Linux

    где PATH для пользователей, установленных в Linux, перед любой оболочкой или sudo, pam.d меняет его?

    установите g ++ на RHEL 6

    Получить полный байт, отправленный pid

    Как получить размер папки, игнорируя жесткие ссылки?

    Почему «she-bang» начинается с «#!»?

    Вложения изображений в формате электронной почты как встроенные вместе с телом электронной почты

    Linux и Unix - лучшая ОС в мире.