我有一个我需要处理的二进制文件,但它不包含换行符。 数据在文件中排列成104个字符块,然后仅通过字符计数(没有分隔字符)分成各个字段。
我想先处理这个文件,这样每104个字符就有一个换行符(`n),但经过大量网页搜索和很多失望之后,我发现没什么用处了。 (除非我抛弃PowerShell并使用awk。)
是否有可以理解字符数的分割选项? 它不仅允许我创建具有易读的104个字符行的文件,而且还允许我将这些行分成它们的组件字段。
任何人都可以帮忙,没有* nix选项吗?
干杯:)
答案 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