RunningCSharp

MS系開発者による、雑多な記事。記事は所属企業とは関係のない、個人の見解です。

PowerShell テキストファイルをソートして出力する

同フォルダのUTF-8のテキストファイル「output.txt」の内容を行単位で文字コード昇順でソートし、「output2.txt」に出力する例

Get-Content -Encoding UTF8 -Path "./output.txt" | Sort-Object | Set-Content  -Encoding UTF8 "./output2.txt" 

降順だと以下の通り。

Get-Content -Encoding UTF8 -Path "./output.txt" | Sort-Object -Descending | Set-Content  -Encoding UTF8 "./output2.txt" 

上記ソートのPowerShellコマンドをコマンドプロンプトから実施させる場合、以下のようにbatファイルを作成。(昇順の例)

test.bat

powershell -Command "Get-Content -Encoding UTF8 -Path './output.txt' | Sort-Object | Set-Content  -Encoding UTF8 './output2.txt'" 

「output.txt」に下記のような内容を格納し実行すると、

c
d
f
3
1
ぬ
5
@

「output2.txt」は下記のように出力される。

@
1
3
5
c
d
f
ぬ