Це команда bbe, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
bbe - редактор бінарних блоків
СИНТАКСИС
ббе [опції]...
ОПИС
ббе це сед-подібний редактор для бінарних файлів. Він виконує бінарні перетворення на
блоки вхідного потоку.
ВАРІАНТИ
ббе приймає такі варіанти:
-b, --блокувати=БЛОК
Визначення блоку.
-e, --вираз=КОМАНДА
Додайте КОМАНДУ до команд, які потрібно виконати.
-f, --file=скрипт-файл
Додайте вміст файлу сценарію до команд.
-o, --вихід=ім'я
Записати вихід до ім'я замість стандартного виведення.
-s, -- придушити
Придушити нормальний вихід, друкувати лише вміст блоку.
-?, --допомога
Перерахуйте всі доступні варіанти та їх значення.
-V, -- версія
Показати версію програми.
БЛОК можна визначити як:
N:M Де N'-й байт починається a M довгий блок байтів (перший байт дорівнює 0).
:M Довжина блоку у вхідному потоці дорівнює M.
/початок/:М
рядок старт починається M блок довгий байт.
/почати/:/стоп/
рядок старт починається блок і блок закінчується на рядку СТОП.
/початок/:
рядок старт запускає блок і блок закінчується при наступному входженні старт, тільки
перший старт входить до блоку.
:/Стоп/
Блок починається на початку вхідного потоку (або в кінці попереднього блоку) і
закінчується при наступному появі СТОП. рядок СТОП буде включено до блоку.
Спеціальне значення '$' M означає кінець потоку.
Значенням за замовчуванням для блоку є 0:$, що означає весь вхідний потік.
обидві старт та СТОП рядки включені в блок. Недруковані символи можна екранувати
as
\nnn десятковий
\xnn шістнадцятковий
\0nnn вісімковий
Символ "\" можна екранувати як "\\". Екранні коди '\a','\b','\t','\n','\v','\f','\r' та
'\;' також можна використовувати.
Довжина (N та M) можна визначити як десятковий (n), шістнадцятковий (xn) або вісімковий (0n)
value.
КОМАНДА СИНТАКСИС
ббе має два типи команд: блокові та байтові команди, обидві завжди пов’язані з поточним
блокувати. Це означає, що вхідний потік за межами блоків залишається недоторканим.
Блокувати Команди
D [n] Видалити n'-й блок. Без n, усі знайдені блоки видаляються з виводу
потік.
I рядок
Вставте шнурок рядок перед блоком.
A рядок
Додайте рядок рядок в кінці блоку.
J n Пропускати n блоків перед виконанням команд після цієї команди.
L n Залиште всі блоки незмінними, починаючи з номера блоку n. Впливає лише на команди
після цієї команди.
N Перед друком блоку друкується ім'я файлу, з якого починається блок.
F f Перед друком блоку зміщення вхідного потоку на початку блоку становить
надруковані. f може бути H, D або O для шістнадцяткового, десяткового або вісімкового формату зміщення.
B f Перед друком блоку друкується номер блоку (перший блок == 1) f може бути H,
D або O для шістнадцяткового, десяткового чи вісімкового формату номера блоку.
> файл Перед друком блоку вміст файлу файл друкуються.
< файл Після друку блоку вміст файлу файл друкуються.
Байт Команди
n у байтових командах – це зміщення від початку поточного блоку (починається з нуля).
r n рядок
Замініть байти, починаючи з позиції n зі струною рядок.
i n рядок
Insert рядок починаючи з положення n.
p формат
Вміст блоку друкується у форматі, визначеному формат. формат може мати будь-який
форматів H, D, O, A та B для шістнадцяткового, десяткового, восьмеричного, Ascii та двійкового.
s/пошук/замінювати/
Замінити всі входження пошук з замінювати.
y/джерело/dest/
Перекласти байти в джерело до відповідних байтів у dest. Source та dest повинен
бути однакової довжини.
d n m|*
видаляти m байт, починаючи зі зміщення n. Якщо замість * визначено m, то все
байт, починаючи з n видаляються.
c від до
Перетворити байти з формату від до до. Наразі підтримуються такі формати:
BCD Двійковий десятковий
ASC Ascii
j n Команди після j-команди спочатку ігноруються n байтів блоку.
l n Команди після l-команди ігноруються n'-й байт блоку.
w файл Записати байти з поточного блоку в файл файл. Команди перед w-командою мають
що буде написано. %B або %nB дюймів файл буде замінено поточним номером блоку.
n у %nB – це довжина поля, нульовий початок у n викликає залишення номера блоку
доповнені нулями.
& c Виконує двійковий та з c.
| c Виконує двійковий or з c.
^ c Виконує двійковий xor з c.
~ Виконує двійкове заперечення.
u n c Усі байти від початку блоку до зміщення n замінюються на c.
f n c Усі байти, починаючи зі зміщення n до кінця блоку замінюються на c.
x Обмін вмістом блоків (половина октета) байтів.
Невидимі символи в рядках можна екранувати так само, як і в рядках визначення блоку.
Символ '/' в командах s та y може бути будь-яким видимим символом.
Зверніть увагу, що команди D, A, I, F, B, c, s, i, y, p, <, > і d визначають довжину введення
і вихідні потоки будуть різними.
ПРИКЛАДИ
bbe -e "s/c:\\temp\\data1.txt/c:\\temp\\data2.txt/" файл1
усі випадки "c:\temp\data1.txt" у файлі file1 змінюються на
"c:\temp\data2.txt"
bbe -b 0420:16 -e "r 4 \x12\x4a" файл1
Два байти, починаючи з п'ятого байта 16-байтового блоку, починаючи зі зміщення 0420
(вісімкові) у файлі1 змінюються на шістнадцяткові значення 12 і 4a.
bbe -b :16 -e "A \x0a" файл1
Новий рядок додається після кожного блоку, довжина блоку 16.
Використовуйте bbe онлайн за допомогою служб onworks.net