Bash-скрипт для редактирования значений прошивки экшн-камеры

Переменная должна быть выведена (с помощью эха )в sed. Использование sed -nдля подавления вывода sed. Редактировать-не нужно sed -n, если мы опустим флаг sed p.

#!/bin/bash

FILE='\\edi3\welshch\test'

FILEPATH="$(echo "$FILE" | sed 's/\\/\//g')"
echo $FILEPATH
2
28.07.2020, 01:27
2 ответа

Так что я все еще работаю над этим:

Я пытаюсь отредактировать файл загрузки встроенного ПО, что не имеет никакого смысла... поэтому мне нужно фактически отредактировать исполняемые файлы в экшн-камере...

Итак, я провел небольшое исследование и придумал следующие коды :constexpr static const VENC _H265 _CBR _S defH265Cbr = {.u32Gop = 50,.u32StatTime = 5,.u32SrcFrameRate = 25,.fr32DstFrameRate = 25,.u32Битрейт = 20480 };

constexpr static const VENC_H265_VBR_S defH265Vbr =
{
   .u32Gop                 = 50,
   .u32StatTime            = 5,
   .u32SrcFrameRate        = 25,
   .fr32DstFrameRate       = 25,
   .u32MaxBitRate          = 20480

Нужно ли мне создавать bash-скрипт для поиска именно этого элемента строки в определенном файле, или я могу просто каким-то образом написать bash для редактирования.u32MaxBitRate?

0
18.03.2021, 23:22

Использование xxd, ddиprintf:

Номер версии V2.1.0.3-Aможно найти здесь (строки 3339 -3340):

$ xxd paramdef
...
0000d0a0: 0000 0000 0000 0000 0056 322e 312e 322e .........V2.1.2.
0000d0b0: 332d 4200 0000 0000 0000 0000 0000 0000  3-B.............
...

и строка начинается с d0a9hex = 53417dec (преобразована с использованиемprintf '%d' 0xd0a9).

Давайте перезапишем строку версии наV2.1.2.3-B:

printf 'V2.1.2.3-B' | dd of=paramdef bs=1 seek=53417 conv=notrunc

Или эквивалент с использованием шестнадцатеричных данных:

# helper output
$ printf 'V2.1.2.3-B' | xxd -p
56322e312e322e332d42

$ xxd -r -p <<<'56322e312e322e332d42' | dd of=paramdef bs=1 seek=53417 conv=notrunc

Замена 3на 4в d0b0в одном -вкладыше:

printf '4' | dd of=paramdef bs=1 seek=$(printf '%d' 0xd0b0) conv=notrunc
0
18.03.2021, 23:22

Теги

Похожие вопросы