1

我有一个需要处理的二进制文件,但其中不包含换行符。数据在文件中排列为 104 个字符块,然后仅按字符数(无分隔字符)划分为各个字段。

我想首先处理文件,以便每 104 个字符有一个换行符(`n),但是经过大量的网络搜索和很多失望,我还没有发现任何有用的东西。(除非我放弃 PowerShell 并使用 awk。)

是否有理解字符数的拆分选项?它不仅允许我创建包含 104 个字符的易于阅读的行的文件,而且还允许我将这些行拆分为它们的组件字段。

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

干杯:)

4

2 回答 2

1

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

$text = 'abcdefghi'

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

abc
def
ghi
于 2014-02-25T17:42:45.103 回答
1
$s = get-content YourFileName | Out-String
$a = $s.ToCharArray()
$a[0..103] # will return an array of first 104 chars

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

$ns = ([string]$a[0..103]).replace(" ","")
于 2014-02-25T17:10:17.633 回答