Powershell разбить файл на количество символов

У меня есть двоичный файл, который мне нужно обработать, но в нем нет разрывов строк. Данные распределяются внутри файла по 104 символьным блокам, а затем делятся на различные поля только по количеству символов (без разделительных символов).

Я хотел бы сначала обработать файл, чтобы через каждые 104 символа был разрыв строки (`n), но после долгих поисков в Интернете и большого разочарования я не нашел ничего полезного. (Если я не отказываюсь от PowerShell и не использую awk.)

Есть ли опция Split, которая понимает количество символов? Это не только позволило бы мне создать файл с хорошими легко читаемыми строками из 104 символов, но также позволило бы мне разбить эти строки на составляющие их поля.

Может кто-нибудь помочь, пожалуйста, без *nix вариантов?

Ура:)

2 ответа

Решение
$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(" ","")

Использование метода V4 Where с опцией Split:

$text = 'abcdefghi'

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

abc
def
ghi
Другие вопросы по тегам