FAQ : Comment puis-je utiliser PowerShell pour m’aider à voir mes données textuelles ?
Selon Wikipédia, Windows PowerShell est le cadre d’automatisation des tâches de Microsoft, composé d’un shell de ligne de commande et d’un langage de script associé, construit au-dessus de, et intégré au Framework .NET. PowerShell peut être utile lorsque vous voulez voir quelques lignes d’un très gros fichier texte. Pour accéder à PowerShell, vous pouvez cliquer sur Démarrer, Accessoires, Windows PowerShell. Une fenêtre de commande de type DOS s’ouvre alors. Comme sous Unix et DOS, vous pouvez lancer des commandes à partir de l’invite. Si PowerShell n’est pas installé sur votre ordinateur, vous pouvez le télécharger sur ce site Web de Microsoft .
Les commandes de PowerShell sont appelées « cmdlets » (prononcez « command-lets », ou petites commandes), et elles sont sensibles à la casse. Vous pouvez trouver une liste des commandes disponibles ici . Nous allons illustrer quelques cmdlets qui peuvent être utiles lorsque vous voulez voir une partie du contenu d’un grand fichier texte. Les lignes qui commencent par un dièse (#) sont des commentaires.
Pour obtenir de l’aide, vous pouvez taper les cmdlets suivants .
# getting help# http://technet.microsoft.com/en-us/library/dd347616.aspxget-help Get-Content -examplesman gc
Nous allons commencer par le familier » Hello, World ! » pour montrer comment on peut créer des variables, puis en utilisant « pwd » et « dir » pour obtenir des informations concernant les répertoires.
# 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
Pour enregistrer le script (ou la série de cmdlets que vous tapez), vous pouvez utiliser les cmdlets suivants.
start-transcript "D:datatranscript.txt"#things in between will be recordedstop-transcript
Le cmdlet « Get-Content » est très utile pour accéder aux fichiers texte. Dans le premier exemple, nous accédons aux 7 premières lignes du fichier texte, que nous appelons « large.txt ». Ensuite, nous accédons aux 2 dernières lignes, puis nous obtenons le nombre total de lignes. Notez que la cmdlet « Get-Content » peut être raccourcie en « 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
Vous pouvez accéder à une colonne spécifique, et vous pouvez obtenir des informations sur la date et l’heure.
# 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
Vous trouverez ci-dessous quelques exemples de recherche, de sous-ensembles et d’ajouts.
# 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