Saltar al contenido

¿Cómo hacer lo que hacen head, tail, more, less, sed en Powershell?

Solución:

Get-Content (alias: gc) es su opción habitual para leer un archivo de texto. Luego puede filtrar más:

gc log.txt | select -first 10 # head
gc -TotalCount 10 log.txt     # also head
gc log.txt | select -last 10  # tail
gc -Tail 10 log.txt           # also tail (since PSv3), also much faster than above option
gc log.txt | more             # or less if you have it installed
gc log.txt | %{ $_ -replace 'd+', '($0)' }         # sed

Esto funciona bastante bien para archivos pequeños, los más grandes (más de unos pocos MiB) probablemente sean un poco lentos.

Las extensiones de la comunidad de PowerShell incluyen algunos cmdlets para archivos especializados (por ejemplo, Get-FileTail).

Aquí están las formas integradas de hacer head y tail. No use tuberías porque si tiene un archivo grande, será extremadamente lento. El uso de estas opciones integradas será extremadamente rápido incluso para archivos de gran tamaño.

gc log.txt -head 10 
gc log.txt -tail 10
gc log.txt -tail 10 -wait # equivalent to tail -f

more.exe existe en Windows, puertos de less se encuentran fácilmente (y las extensiones de la comunidad de PowerShell, PSCX, incluyen una).

PowerShell realmente no proporciona ninguna alternativa a programas separados para ninguno de los dos, sino para datos estructurados Out-Grid puede ser útil.

Head y Tail ambos se pueden emular con Select-Object utilizando el -First y -Last parámetros respectivamente.

Sed todas las funciones están disponibles pero estructuradas de manera bastante diferente. Las opciones de filtrado están disponibles en Where-Object (o vía Foreach-Object y algunos estados para rangos). Otras operaciones de transformación se pueden realizar con Select-Object y Foreach-Object.

Sin embargo, a medida que PowerShell pasa objetos (.NET), con toda su estructura escrita, por ejemplo. quedan las fechas DateTime instancias, en lugar de solo cadenas, que cada comando necesita analizarse, gran parte de sed y otros programas similares son redundantes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *