Я использую команду:
tail -f -n 0 file.txt
Но он продолжает повторяться.
Я делаю следующее: Create файл в первом терминале: touch file.txt Запустите хвост во втором терминале: tail -f -n 0 file.txt Отредактируйте файл в первом терминале: nano file.txt Просто добавьте text, сохраните и закройте. Выходы второго выхода text, как и должно быть. Отредактируйте файл еще раз в первом терминале: nano file.txt Добавьте в конец (2-я строка) more text, сохраните и закройте. Второй вывод терминала: tail: file.txt: файл усеченный текст больше текстаЕще раз отредактируйте файл в первом терминале: nano file.txt
Добавить в конце (3-я строка) even more text, сохраните и закройте.
Редактировать файл снова в первом терминале: nano file.txt
Добавить в конец (4-я строка) and even more text, сохранить и закрыть. Второй вывод:
tail: file.txt: file truncated
text
more text
even more text
and even more text
Мне нужна команда, чтобы не повторять себя.
Результат привел к:
tail -f -n 0 file.txt
text
tail: file.txt: file truncated
text
more text
even more text
tail: file.txt: file truncated
text
more text
even more text
and even more text
И мне нужно это для вывода:
tail -f -n 0 file.txt
text
more text
even more text
and even more text
Или, если невозможно удалить сообщение об усеченном файле, что-то вроде:
tail -f -n 0 file.txt
text
tail: file.txt: file truncated
more text
even more text
tail: file.txt: file truncated
and even more text
Я также не знаю, почему это дает файл усеченного сообщения. Я начинаю вставлять новый текст в конец файла.
Как уже было сказано в одном из других ответов, это происходит, потому что ваш файл перезаписывается каждый раз, когда вы сохраняете файл. Команда хвоста была разработана для мониторинга файлов журналов, в которые к файлу добавлены новые строки.
В этой конкретной ситуации я использовал бы следующее:
watch -n 1 cat file.txt
команда watch выполняет команду периодически. Интервал обновления в секундах указывается с помощью -n и может быть настроен по вашему вкусу.