[解決済み] PowerShellでテキストファイルを分割するには?
2023-07-06 11:30:18
質問
大きな (500 MB) テキスト ファイル (log4net の例外ファイル) を、5 MB のファイル 100 個のような管理しやすい塊に分割する必要があります。
私は、これは PowerShell にとって公園を歩くようなものだと思います。どうすればよいのでしょうか?
どのように解決するのですか?
これは PowerShell にとってやや簡単なタスクですが、標準の Get-Content コマンドレットが非常に大きなファイルをあまりうまく扱えないという事実によって、複雑になっています。 私が提案するのは、.NET の
StreamReader クラス
を使用して、PowerShell スクリプトでファイルを 1 行ずつ読み込んで
Add-Content
コマンドレットを使用して、各行をファイル名のインデックスを増加させながらファイルに書き込みます。 こんな感じかな。
$upperBound = 50MB # calculated by Powershell
$ext = "log"
$rootName = "log_"
$reader = new-object System.IO.StreamReader("C:\Exceptions.log")
$count = 1
$fileName = "{0}{1}.{2}" -f ($rootName, $count, $ext)
while(($line = $reader.ReadLine()) -ne $null)
{
Add-Content -path $fileName -value $line
if((Get-ChildItem -path $fileName).Length -ge $upperBound)
{
++$count
$fileName = "{0}{1}.{2}" -f ($rootName, $count, $ext)
}
}
$reader.Close()
関連
-
[解決済み] Connect-VIServer は、渡された資格情報では動作しないが、統合された認証では動作する。
-
[解決済み] xPath を使用する Powershell スクリプトの .SelectSingleNode が web.config ファイルから値を抽出する際に動作していない
-
[解決済み] PowerShellで環境変数をコンソールに出力する方法は?
-
[解決済み] Windows PowerShellでファイルが存在するかどうかをチェックする?
-
[解決済み] PowerShellでコードをコメントアウトする方法とは?
-
[解決済み] PowerShellで文字列と変数を連結する方法は?
-
[解決済み] Powershellで複数のファイル内の文字列を検索してファイル名を返すには?
-
[解決済み】PowerShellスクリプトを実行する方法
-
[解決済み】PowerShellを使った再帰的ファイル検索
-
[解決済み] PowerShellを使用してファイル内の複数の文字列を置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Send-MailMessage - リモートサーバーに接続できません。
-
[解決済み] OutVariableを使用してArrayListを作成する
-
[解決済み] Add-ADGroupMember が ID を持つオブジェクトを見つけられません。
-
[解決済み] Get-ADUser -Identity
-
[解決済み] スクリプトへのパスが完全修飾されている場合、削除サーバーでのPowershellの実行に失敗する
-
[解決済み] AzureのAdd-AzureDiskが動作しない
-
[解決済み] PowerShellでディレクトリを変更する
-
[解決済み] PowerShellで改行するには?
-
[解決済み] Join-Pathを使って、2つ以上の文字列をファイルパスに結合するにはどうすればよいですか?
-
[解決済み] Powershell プロセスの開始、タイムアウトによる待機、Kill、終了コードの取得