Comment couper les espaces vides à partir de PowerShell sortie?

Je suis à l'aide d'un script PowerShell pour trouver toutes les occurrences d'une expression régulière de l'expression et de sortie dans un fichier. J'ai deux objectifs pour cette question.

  1. Supprimer l'espace blanc d'une valeur de la colonne
  2. Spécifier une largeur d'un champ supplémentaire (numéros de lignes)

C'est ce que j'ai à ce jour:

gci -recurse -include *.* | Select-String -pattern $regexPattern |`
Format-Table -GroupBy Name -Property Path, Line -AutoSize

Ce sorties suivantes:

Path                      Line                                                   
----                      ----
C:\myRandomFile.txt       This is line 1 and it is random text.
C:\myRandomFile.txt                This is line 2 and it has leading white space.
C:\myNextRandomFile.txt            This is line 3 and it has leading white space.
C:\myLastRandomFile.txt                         This is line 4. 

C'est parce que les fichiers ont des espaces de début (en fait tirets/onglet espaces, mais délivrée comme des espaces blancs). Je ne peux pas modifier les fichiers originaux et retirer le premier espace blanc, car ils sont notre production de fichiers/scripts SQL.

Je veux couper le premier espace blanc de la Ligne de la colonne de sorte que la sortie ressemble à ceci:

Path                      Line                                                   
----                      ----
C:\myRandomFile.txt       This is line 1 and it is random text.
C:\myRandomFile.txt       This is line 2 and it has no leading white space.
C:\myNextRandomFile.txt   This is line 3 and it has no leading white space.
C:\myLastRandomFile.txt   This is line 4 and this is how it should look. 

Et, si j'ajoute les numéros de lignes de la colonne en utilisant

-property LineNumbers 

puis les numéros de lignes de la colonne de prendre jusqu'à environ la moitié de l'espace dans la ligne. Puis-je spécifier la largeur de l'numéros de lignes? J'ai essayé de le -AutoSize drapeau, mais cela ne semble pas bien fonctionner. J'ai essayé

LineNumber;width=50
LineNumber width=50
LineNumber -width 50

et toutes les variations de cela, mais j'ai des erreurs à l'aime de "Format-Table: Un paramètre ne peut pas être trouvée, qui correspond à nom de paramètre width=50"

C'est ce que j'ai utilisé à la fin: gci -recurse -include *.* | Select-String -pattern $regexPattern | Format-Table @{Name='Path'; Expression={$_.Path}; Width=80}, @{Name='Line'; Expression={$_.Line -replace '^\s+', ''}; Width=200} | Out-File $outputTxtFile

OriginalL'auteur Alicia | 2011-07-19