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

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

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

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 
  • Использовать хвост и grep для отправки IRC-сообщения?
  • Хвост файла для определенного текста
  • Захват нового файла с помощью старого имени
  • Почему «tail -f ... | хвост "не может произвести какой-либо выход?
  • Горячая запись EOF в файл, чтобы остановить любые процессы хвоста
  • хвост отображает весь файл, а затем изменяется только
  • удаление дубликатов с хвостом
  • tail -фафа в течение 10 минут / до N совпадающих строк?
  • Как связать файл по сети?
  • Почему хвост журнала вывода иногда дает частичные линии?
  • Как связать несколько файлов с помощью tail -0f в Linux / AIX
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.