Как просмотреть большой файл для изменений, которые могут произойти где угодно?

Я хотел бы посмотреть файл для изменений, которые могут произойти. Как правило, использование tail -f file или watch -d cat file для этого было бы неплохо. Тем не менее, file я контролирую, слишком велик, чтобы соответствовать одному экрану, и изменения не обязательно происходят в определенном месте (например, в конце).

Как я могу следить за изменениями? В идеале, мне бы хотелось увидеть что-то вроде watch -d cat file который прокручивается так, чтобы по крайней мере одно изменение было видимым на экране.

Если вам интересно, для чего это нужно, я использую литий для минимизации большого файла, и мне нравится наблюдать за его прогрессом, поскольку процесс минимизации часто показывает намеки на базовую ошибку.

2 Solutions collect form web for “Как просмотреть большой файл для изменений, которые могут произойти где угодно?”

 watch=/path/to/file tmp="$watch".$$ cp "$watch" "$tmp".1 while true; do clear cp "$watch" "$tmp".2 diff -u "$tmp".1 "$tmp".2 mv "$tmp".2 "$tmp".1 sleep 10 done 

Если вас беспокоит пространство и время, необходимые для этих копий всего файла, вы должны понять, что на самом деле нет способа реализовать ваши требования. watch -d также должен поддерживать последний вывод, чтобы сравнить его с текущим.

Опрос файла с бесконечным циклом – плохая идея. Мой совет – установить nodejs и использовать fs.watchFile .

 fs.watchFile('message.text', (curr, prev) => { console.log(`the current mtime is: ${curr.mtime}`); console.log(`the previous mtime was: ${prev.mtime}`); }); 

Если вы хотите, чтобы одна строка команды терминала сделала что-то вроде этого.

 node -e "fs.watchFile('message.text', (curr, prev) => { console.log(`the current mtime is: ${curr.mtime}`); console.log(`the previous mtime was: ${prev.mtime}`); });" 

Если это не приемлемый ответ, я удалю его.

  • Как я могу измерять и предотвращать дрейф часов?
  • Нестабильность часов в Debian 9 (растяжка)
  • Запуск нескольких команд в режиме просмотра
  • Как установить время для входа в gdm в 24-часовой формат?
  • Как запустить команду каждые 5 секунд на Solaris?
  • Как получить виджет часов UTC на Awesome WM?
  • Копирование файлов из Solaris в Linux
  • сохранить форматирование вывода perldoc
  • Что может привести к тому, что cron будет работать дважды в тот же момент?
  • Синхронизация времени в виртуальной машине между Windows как хостом и CentOS в качестве гостевой без сети
  • Linux устанавливает аппаратные часы в UTC и системное время по местному времени
  • Interesting Posts

    Разделить домашний раздел на 2 (xfs на LVM)

    Сценарий автоматического обновления сценария Bash в cron работает неправильно?

    Случайный доступ к файлам на сервере ip

    Закрыть / убить / скрыть одно окно терминала в bash on 'process complete'

    Пожалуйста, помогите уточнить для меня роль и архитектуру Xorg (X-сервер) и взаимодействие с другим программным обеспечением

    Файл не отображается с помощью vi, но отображается с помощью команды ls -l CD *

    Отладка сценариев, в чем разница между -x для установки -euxo pipefail?

    Регулярное выражение Perl для распознавания нескольких строк

    Почему нет простого способа перечислить все процессы в данной группе процессов?

    скрипт bash, определяющий последнюю переменную пути

    Linux eth0 не работает, не может его закрыть

    Конфигурация монитора Mint Linux

    Почему входящие пакеты на интерфейсе TAP видны с помощью tcpdump, но не с iptables?

    Как подсчитать время, когда в файле появляется конкретный символ?

    Kde: как постоянно привязывать приложение к рабочему столу / активности?

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