ChatGPT-AzureAI:Tail in Windows

I asked ChatGPT 3.5 in Azure AI whether we could run Tail in Windows, and this is it’s response:

Sure, here's a PowerShell function that emulates the tail command from Linux:
function tail($filepath, $count = 10) {  
    $file = Get-Item $filepath  
    $stream = $file.Open([System.IO.FileMode]::Open, [System.IO.FileAccess]::Read, [System.IO.FileShare]::ReadWrite)  
    $reader = New-Object System.IO.StreamReader($stream)  
  
    # Move the reader to the end of the file  
    $reader.BaseStream.Seek(0, [System.IO.SeekOrigin]::End)  
  
    # Read the last N lines of the file  
    $lines = New-Object System.Collections.Generic.List[string]  
    for ($i = 0; $i -lt $count; $i++) {  
        $pos = $reader.BaseStream.Position - 2  
  
        # Move backwards from the end of the file until we find a newline character  
        while ($pos -ge 0) {  
            $reader.BaseStream.Seek($pos, [System.IO.SeekOrigin]::Begin)  
            $char = $reader.Read()  
  
            if ($char -eq [char]::NewLine) {  
                # Found a newline character, so read the line  
                $line = $reader.ReadLine()  
                $lines.Insert(0, $line)  
                break  
            }  
  
            $pos--  
        }  
  
        # Move back to the end of the file if we reached the beginning  
        if ($pos -lt 0) {  
            $reader.BaseStream.Seek(0, [System.IO.SeekOrigin]::Begin)  
        }  
    }  
  
    $reader.Dispose()  
    $stream.Dispose()  
  
    # Output the last N lines of the file  
    return $lines  
}  
 
To use this function, simply call it with the path to the file you want to tail and the number of lines you want to show:
tail "C:\Path\To\File.txt" 10  
 
This will show the last 10 lines of the file. You can adjust the number of lines by changing the $count parameter.


Posted

in

, ,

by