FAQ: Como posso usar o PowerShell para me ajudar a ver os meus dados de texto?
De acordo com a Wikipedia, Windows PowerShell é a estrutura de automatização de tarefas da Microsoft, consistindo em shell de linha de comando e linguagem de script associada construída no topo, e integrada com a estrutura.NET. PowerShell pode ser útil quando se pretende ver algumas linhas de um ficheiro de texto muito grande. Para aceder ao PowerShell, pode clicar em Iniciar, Acessórios, Windows PowerShell. Isto abrirá uma janela de comando do tipo DOS. Tal como no Unix e DOS, pode emitir comandos a partir do prompt. Se não tiver o PowerShell instalado no seu computador, pode descarregá-lo deste website da Microsoft .
Os comandos no PowerShell são chamados “cmdlets” (pronunciados “comandos”, ou pequenos comandos), e são sensíveis a maiúsculas e minúsculas. Pode encontrar uma listagem dos comandos disponíveis aqui . Ilustraremos alguns cmdlets que podem ser úteis quando se quiser ver alguns dos conteúdos de um grande ficheiro de texto. As linhas que começam com um sinal de libra (#) são comentários.
Para obter ajuda, pode digitar os seguintes cmdlets.
# getting help# http://technet.microsoft.com/en-us/library/dd347616.aspxget-help Get-Content -examplesman gc
Começaremos com o familiar “Olá, Mundo!” para mostrar como as variáveis podem ser criadas, e depois usando “pwd” e “dir” para obter informações relativas aos directórios.
# 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 gravar o guião (ou série de cmdlets que digita), pode usar os seguintes cmdlets.
start-transcript "D:datatranscript.txt"#things in between will be recordedstop-transcript
A cmdlet “Get-Content” é muito útil para aceder a ficheiros de texto. No primeiro exemplo, acedemos às primeiras 7 filas do ficheiro de texto, a que chamamos “large.txt”. A seguir, acedemos às 2 últimas linhas, e depois obtemos o número total de filas. Note que o cmdlet “Get-Content” pode ser abreviado para “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
p>P>Pode aceder a uma coluna específica, e pode obter informação de data e 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
Below são alguns exemplos de pesquisa, subconfiguração e anexação.
# 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