PREGUNTAS FRECUENTES: ¿Cómo puedo utilizar PowerShell para ayudarme a ver mis datos de texto?
Según la Wikipedia, Windows PowerShell es el marco de automatización de tareas de Microsoft, que consiste en un shell de línea de comandos y un lenguaje de scripting asociado construido sobre, e integrado con, el Framework.NET. PowerShell puede ser útil cuando quieres ver unas pocas líneas de un archivo de texto muy grande. Para acceder a PowerShell, puedes hacer clic en Inicio, Accesorios, Windows PowerShell. Esto abrirá una ventana de comandos similar a la de DOS. Al igual que en Unix y DOS, puedes emitir comandos desde el prompt. Si no tiene PowerShell instalado en su ordenador, puede descargarlo desde este sitio web de Microsoft.
Los comandos de PowerShell se denominan «cmdlets» (pronunciado «command-lets», o pequeños comandos), y distinguen entre mayúsculas y minúsculas. Puede encontrar un listado de los comandos disponibles aquí . Vamos a ilustrar algunos cmdlets que pueden ser útiles cuando se quiere ver parte del contenido de un archivo de texto grande. Las líneas que comienzan con un signo de libra (#) son comentarios.
Para obtener ayuda, puede escribir los siguientes cmdlets.
# getting help# http://technet.microsoft.com/en-us/library/dd347616.aspxget-help Get-Content -examplesman gc
Comenzaremos con el conocido «¡Hola, mundo!» para mostrar cómo se pueden crear variables, y luego utilizando «pwd» y «dir» para obtener información relativa a los directorios.
# hello world!$hi="Hello, World!"$hiImage PS4pwddir
# counting the number of files in a folderget-childitem D:dataget-childitem D:data -name(get-childitem D:data).Count
Para grabar el script (o serie de cmdlets que escribas), puedes utilizar los siguientes cmdlets.
start-transcript "D:datatranscript.txt"#things in between will be recordedstop-transcript
El cmdlet «Get-Content» es muy útil para acceder a archivos de texto. En el primer ejemplo, accedemos a las 7 primeras filas del archivo de texto, que llamamos «large.txt». A continuación, accedemos a las 2 últimas filas, y luego obtenemos el número total de filas. Ten en cuenta que el cmdlet «Get-Content» se puede acortar a «gc».
# headGet-Content D:datalarge.txt -totalcount 7gc D:datalarge.txt -totalcount 7gc D:datalarge.txt | select-object -first 7# tailgc D:datalarge.txt | select-object -last 2# total number of rowsGet-Content D:datalarge.txt | Measure-Objectgc D:datalarge.txt | Measure-Object
Image PS6
Puedes acceder a una columna específica, y puedes obtener información de fecha y hora.
# get a specific column# http://stackoverflow.com/questions/2503010/extracting-columns-from-text-file-using-powershellgc D:datalarge.txt | Foreach {($_ -split 's+', 8)}gc D:datalarge.txt | Foreach {"$(($_ -split 's+', 8))"}gc D:datalarge.txt | Foreach {"$(($_ -split 's+', 8))"} > col12.txt
# date and timeGet-DateGet-Date -displayhint dateGet-Date "7/22/1980Image PS2
A continuación se muestran algunos ejemplos de búsqueda, subconjunto y anexión.
# searching and subsettingmore D:datalarge.txtselect-string "seqn" D:datalarge.txt select-string -quiet "seqn" D:datalarge.txtImage PS5# appending add-content -value "addthis" simple.txtadd-content -value (get-content D:datalarge.txt) simple.txt