Собственный эквивалент PS, поскольку PSv3
Get-Content -Last n
что тоже быстро. В PSv2 и ниже вы должны делать с
Get-Content filename | Select -Last n
но у этого есть несколько предостережений. Например, он не может блокировать и ждать новых изменений в файле, а также не очень эффективен в том смысле, что должен полностью прочитать файл с самого начала, чтобы показать последние строки.
В PSCX есть команда Get-FileTail
которая имеет параметр -Wait
:
название
Get-FileTail
конспект
Командлет PSCX: привязывает содержимое файла - возможно, ожидание нового содержимого.
Синтаксис
Get-FileTail [-Path] <String[]> [-Count <Int32>] [-Encoding <EncodingParameter>] [-LineTerminator <String>]
[-Wait] [<CommonParameters>]
Get-FileTail [-LiteralPath] <String[]> [-Count <Int32>] [-Encoding <EncodingParameter>] [-LineTerminator <String>]
[-Wait] [<CommonParameters>]
Описание
Это внедрение эффективно подгоняет котенты файла, читая строки с конца, а не обрабатывая весь файл. Такое поведение имеет решающее значение для эффективной настройки больших файлов журнала и больших файлов журнала по сети. Можно также указать параметр Wait
чтобы командлет ожидал и отображал новое содержимое по мере его записи в файл. Используйте Ctrl+C, чтобы выйти из цикла ожидания. Обратите внимание, что если кодировка не указана, командлет попытается автоматически определить кодировку, прочитав первый символ из файла. Если в файл еще не записано ни одного символа, командлет по умолчанию будет использовать кодировку Unicode. Вы можете переопределить это поведение, явно указав кодировку через параметр Encoding.
Get-FileTail
по умолчанию привязан к tail
, если вы устанавливаете PSCX.