Ho un file binario eseguibile; chiamiamolo a.out. Vedo che il binario contiene stringhe
$ strings a.out
...
/usr/share/foo
....
Devo cambiare la stringa /usr/share/fooin /usr/share/bar. Posso semplicemente sostituire la stringa con sed?:
sed -i 's@/usr/share/foo@/usr/share/bar@' a.out
Sembra una cosa sicura da fare. Funzionerà anche quando le stringhe non hanno la stessa lunghezza?
sed -i 's@longstring@foo@' a.out? Questo renderà l'intero binario più piccolo di 7 byte, non corromperà il binario?