MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 12/20 おすすめ情報に 『 WOMAN'S VALUE AWARD【ICT部門 優秀賞】 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【PowerShell】大容量テキストファイル分割
profile-img
投稿者: muto-sanさん
投稿日:2019/10/01 17:21
更新日:
like-img
分類
技術
テクノロジー
Windows系サーバ
キャリア
運用・保守 / テクニカルサポート / 構築
投稿内容
1GB超のTEXT形式で吐き出されるログファイルを分析する必要に迫られたときに、単純にメモ帳やExcelで開くにはファイルが重すぎます。
今回はサンプルとしてこんなファイルを用意しました。中身はランダム文字列10万行。



※ 実際のオペレーションではこの10倍以上のファイルが何個も並んでいることも

今回用意したのは以下のコマンド
$i=0; Get-Content TestFile.txt -ReadCount (分割したい行数) | % {$_ | Out-File "C:\temp\Split\TestFile_$i.txt" -Encoding UTF8 -Append; $i++}


10000行で分割されたファイルが10個できました。



Get-ContentのReadCountオプションは何行ずつパイプ処理するかを決めるオプションで、既定値は1です。
そのため、ReadCountオプション入れずに先ほどのコマンドを実行した場合は1行ずつのファイルが10万個作られます。
ReadCountの値を調整して処理を早くすることもできたりします。(あまりに巨大なデータをパイプに渡そうとするとメモリを圧迫するので注意)

次回はファイル分割のちょっとした応用を書こうと思います。
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3