Powershell在字符数上打破文件

时间:2014-02-25 16:51:32

标签: powershell split binary long-lines

我有一个我需要处理的二进制文件,但它不包含换行符。 数据在文件中排列成104个字符块,然后仅通过字符计数(没有分隔字符)分成各个字段。

我想先处理这个文件,这样每104个字符就有一个换行符(`n),但经过大量网页搜索和很多失望之后,我发现没什么用处了。 (除非我抛弃PowerShell并使用awk。)

是否有可以理解字符数的分割选项? 它不仅允许我创建具有易读的104个字符行的文件,而且还允许我将这些行分成它们的组件字段。

任何人都可以帮忙,没有* nix选项吗?

干杯:)

2 个答案:

答案 0 :(得分:1)

$s = get-content YourFileName | Out-String
$a = $s.ToCharArray()
$a[0..103] # will return an array of first 104 chars

你可以通过以下方式返回你的字符串,替换删除空格char(这是数组元素分隔符变成的)

$ns = ([string]$a[0..103]).replace(" ","")

答案 1 :(得分:1)

使用带有拆分选项的V4 Where方法:

$text = 'abcdefghi'

While ($text)
{ 
  $x,$text = ([char[]]$text).where({$_},'Split',3)
  $x -join ''
}

abc
def
ghi