使用PowerShell将平面文件拆分为子文件

时间:2013-11-19 17:21:30

标签: powershell

我收到一个大平面文件,其中包含1,2,3或3个以上文件数据的数据,以标题行开头,以拖车行结束。

我需要根据数据将这些数据拆分为单独的文件。我相信使用PowerShell脚本很容易。它会是什么样子?

1 个答案:

答案 0 :(得分:0)

假设你有可靠的标题和预告片模式匹配,你可以这样做:

$header = ""
$body = ""
$trailer = ""

Get-Content bigflagfile.txt | Foreach-Object {
  if ($_ -match '<headerpattern>') {
    $header += $_;
  }
  elseif ($_ -match '<trailerpattern>') {
    $trailer += $_;
  }
  else {
    $body += $_;
  }
}

$header | Out-File headerfile.txt
$body | Out-File body.txt
$trailer | Out-File trailerfile.txt

这是一种低技术解决方案,可能过于缓慢或完全死亡(这在很大程度上取决于您对“一个大文件”的定义)。在没有更多信息的情况下,这并不是一件坏事。