Я хотел бы иметь tail -f
тип поведения, который читает весь файл, а затем продолжает следовать ему, как он записан.
РЕШЕНИЕ
На основании ответа, который я принял, это работает: tail -f -n +1 {filename}
Почему это работает:-f
вариант продолжает «следовать» файл и вывод новых линии , как они записаны в файл. В -n +1
инструктирует , tail
чтобы начать чтение файла с первой строки. Использование -n -10
будет начинаться с последних десяти строк файла.
tail -f -n 10000000000000000000
вероятно, покажет все строки, не так ли? (может быть, 10000000000000000000 немного больше: =))more fileName
что сделал бы именно этоtail -f -n 100...
потребуется предварительное чтение файла для определения количества строк, если только он не достаточно умный, чтобы определить верхнюю границу для количества строк на основе размера файла.Ответы:
использование
Использование
man tail
даст вам больше деталей, соответствующий отрывок следует.источник
man tail
(и прочитав), как говорится в ответе, или выполните онлайн-поиск «tail manpage» и прочитайте одну из них.tail
работает, начиная с позиции в файле, читает (и отображает) до конца, а затем отслеживает увеличение размера файла. Когда размер файла увеличивается,tail
считывает и отображает от прежней позиции EOF до нового конца файла.tail -50 {filename}
ранее, но безуспешно сочетал их.Попробуй это:
где
{filename}
файл, за которым вы хотите следить. Это будет постоянно контролировать команду на наличие изменений и выводить изменения на стандартный вывод. Это очень удобно.источник
watch tail -n +1 {filename}
watch
действительно полезный инструмент, но для наблюдения за изменяющимся выводом команды, но для наблюдения за концом добавляемого файла его намного лучше использоватьtail -f
. ---watch tail {filename}
будет открывать и перечитывать конец файла каждые две секунды. С другой стороны,tail -f
следит за ростом файла, и при обнаружении он сразу читает только добавленную часть.tailf -f
гораздо эффективнее, и реакция намного быстрее. Кроме того, он будет постоянно показывать содержимое файла с того места, с которого вы начали. ---watch
перезаписывает свой вывод каждые две секунды.