Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Разбить файл на две неравные части.
Требуется бинарный файл разбить на 2 части. Такая задача, полагаю, нередко возникает перед пользователями, начало или конец файла отбросить. На каком из языков программирования это сделать проще всего, или быстрее?

 Re: Разбить файл на две неравные части.
Аватара пользователя
На шелле. (head -c [число байт] в BSD/GNU, gc -Encoding byte -TotalCount [число байт] в Windows PowerShell)

 Re: Разбить файл на две неравные части.
gc -Encoding byte -TotalCount [число байт]
Как имя файла добавить, куда содержимое будет записано. Нужно отбросить начало файла, приведённая команда отбрасывает начало файла? Файл бинарный, не текстовый.

 Re: Разбить файл на две неравные части.
Аватара пользователя
Нет, эта наоборот берет начало.
Для того, чтобы отбросить n байт файла test.bin и записать результат в test.bin.truncated, надо что-то типа вот этого (проверить не могу, винды под рукой нет) :
gc test.bin -encoding byte | select -skip n > test.bin.truncated

 Re: Разбить файл на две неравные части.
Ок, проверим. Как там в окошке из буфера (в буфер) копировать текст, или набирать только все буквы?

 Re: Разбить файл на две неравные части.
Вот так можно:
Код:
[byte[]] $b = gc -Encoding Byte c:\Temp\input.bin
sc c:\temp\head.bin -Value $b[0..999] -Encoding Byte
sc c:\temp\tail.bin -Value $b[1000..($b.Length-1)] -Encoding Byte

 Re: Разбить файл на две неравные части.
В Linux есть команда tail, она может выводить N последних байтов.

 Re: Разбить файл на две неравные части.
Maslov в сообщении #640749 писал(а):
Вот так можно:

То, что доктор прописал, спасибо. Без массива, похоже не проходят варианты.
Вариант "gc test.bin -encoding byte | select -skip n > test.bin.truncated" выдал файл с числовыми значениями символов из начального файла в столбик, типа {89 114 ...}.
По пути вариант на Delphi был сваян, но через PS действительно коротко.

 Re: Разбить файл на две неравные части.
Если планируете работать с PS, скачайте Quest PowerGUI: там довольно удобный редактор скриптов (PowerGUI Script Editor) с подсветкой синтаксиса, интеллисенсом, полноценным отладчиком и хелпами.

 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group