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