*правка бинарных файлов в командной строке ((автоматизация))

Модератор: Модераторы разделов

Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

*правка бинарных файлов в командной строке

Сообщение Doka »

Есть бинарные файлы формата *.a, *.so, *.dl
в них некоторой переменной окружения присваивается значение.

задача - заменить это значение.

т.е. в файле filename1 заменить подстроку "string1" подстрокой "string2".
проблема в том, что этих файлов много, поэтому вариант со всяческими HexEditor'ами не очень приятный.

как-то это можно автоматизировать стандартными утилитами, принимая во внимание особенность того, что файлы - бинарные?
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: *правка бинарных файлов в командной строке

Сообщение uptime »

sed'ом не пробовали?
sed s/string1/string2/g infile outfile

Doka писал(а):
19.09.2008 12:23
в них некоторой переменной окружения присваивается значение.

Наверное, просто строковой переменной. Переменные окружения в бинарниках не храняться.
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Аватара пользователя
destr
Сообщения: 128
ОС: Debian

Re: *правка бинарных файлов в командной строке

Сообщение destr »

Ну вы понимаете, что строки одной длины должны быть? Ага?:)
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: *правка бинарных файлов в командной строке

Сообщение Doka »

проверил на одном файле - вроде работает как надо. спасибо

для того чтобы автоматизировать надо собрать список файлов, в которых содержится string1.
как это лучше сделать, чтобы:
1) обрабатывать файлы налету. т.е. найден файл -> обработан
2) с промежуточным формированием списка файлов (сохранённом в findfiles.txt) и последующим парсингом списка для sed'a
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: *правка бинарных файлов в командной строке

Сообщение Doka »

destr
само-собой)

uptime
увы, это тот случай, когда переменная окружения хранится в бинарнике, а после того как программа отработала - уничтожается.
Never stop thinking..................................................................
Спасибо сказали: