PowerShell スクリプトを使用して正規表現をすべて検索し、ファイルに出力しています。この質問には 2 つの目的があります。
- 列の値から先頭の空白を削除します
- 追加フィールドの幅を指定する (LineNumbers)
これは私がこれまでに持っているものです:
gci -recurse -include *.* | Select-String -pattern $regexPattern |`
Format-Table -GroupBy Name -Property Path, Line -AutoSize
これにより、次が出力されます。
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.
これは、ファイルの先頭に空白があるためです (実際にはインデント/タブ スペースですが、空白として出力されます)。元のファイルは本番ファイル/SQL スクリプトであるため、変更して先頭の空白を削除することはできません。
出力が次のようになるように、Line 列の先頭の空白を削除したいと考えています。
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.
そして、使用して LineNumbers 列を追加すると
-property LineNumbers
次に、LineNumbers 列が行のスペースの約半分を占めます。LineNumbers の幅を指定できますか? -AutoSize フラグを試してみましたが、うまくいかないようです。私はもう試した
LineNumber;width=50
LineNumber width=50
LineNumber -width 50
これのすべてのバリエーションですが、「Format-Table: パラメータ名 width=50 に一致するパラメータが見つかりません」のようなエラーが発生します。