Utils/head.ps1
|
Register-GnuUtil @{ Name = 'head' Category = 'Viewing file contents' Synopsis = 'Output the first part of files.' Usage = @('head [OPTION]... [FILE]...') Description = @( 'Print the first 10 lines of each FILE to standard output.', 'With more than one FILE, precede each with a header giving the file name.', '', 'With no FILE, or when FILE is -, read standard input.' ) FileOperands = $true NumericOption = 'n' OpenErrorFormat = "cannot open '{0}' for reading: {1}" ReadErrorFormat = "error reading '{0}': {1}" Options = @( @{ Short = 'c'; Long = 'bytes'; Key = 'count'; Arg = '[-]NUM'; Sets = @{ unit = 'bytes' }; Help = "print the first NUM bytes of each file; with the leading '-', print all but the last NUM bytes of each file" } @{ Short = 'n'; Long = 'lines'; Key = 'count'; Arg = '[-]NUM'; Sets = @{ unit = 'lines' }; Help = "print the first NUM lines instead of the first 10; with the leading '-', print all but the last NUM lines of each file" } @{ Short = 'q'; Long = 'quiet'; Key = 'headers'; Value = 'never'; Help = 'never print headers giving file names' } @{ Long = 'silent'; Key = 'headers'; Value = 'never'; Help = 'same as --quiet' } @{ Short = 'v'; Long = 'verbose'; Key = 'headers'; Value = 'always'; Help = 'always print headers giving file names' } @{ Short = 'z'; Long = 'zero-terminated'; Help = 'line delimiter is NUL, not newline' } ) Notes = @( 'NUM may have a multiplier suffix:', 'b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,', 'GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y, R, Q.', 'Binary prefixes can be used, too: KiB=K, MiB=M, and so on.', '', 'PowerShell note: a PowerShell function cannot stop the command that feeds it; for', 'endless producers use Select-Object -First N instead.' ) } |