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

Я хотел бы посмотреть файл для изменений, которые могут произойти. Как правило, использование 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}`); });" 

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

  • Запуск нескольких команд в режиме просмотра
  • Что влияет изменение источника clocksource?
  • Watch: печать только на экране, если результат изменился с момента последнего выхода
  • Как я могу найти причину дрейфа часов в пользовательской встроенной системе?
  • hwclock для пользователя без root
  • Часы не обновляются при обновлении
  • Как получить системное время с микросекундой Разрешение
  • Как получить виджет часов UTC на Awesome WM?
  • Разное время в Windows и Linux Mint
  • Можно ли ускорить мой Linux Clock?
  • Почему часам нужен сегмент разделяемой памяти?
  • xclock с наносекундным (или дробным вторым) разрешением
  • Linux и Unix - лучшая ОС в мире.