Можно использовать sed
с двоичными файлами (по крайней мере, GNU sed; некоторые реализации могут испытать затруднения из-за файлов, содержащих нулевые символы или не заканчивающихся символом новой строки). Но команда, которую Вы использовали только, заменяет первое вхождение /Fit
на каждой строке и строках в значительной степени бессмысленны в файле PDF. Необходимо заменить все случаи:
sed s/\/Fit/\/XYZ/g
Это было бы, больше устойчивое только заменяет /Fit
если это не сопровождается составляющей слова (например, не замена /Fitness
; Я не знаю, содержит ли Ваш файл случаи /Fit
это доставило бы неприятности). Вот один путь:
perl -pe 's!/Fit\b!/XYZ!g'
Это не свободно, но кислород имеет эту функцию и работает на всех трех основных платформах. (Это основано на Java.) У них есть демонстрация скринкаста функции.
Можно получить кислород и в автономной версии и в той, которая работает в Eclipse, который хорош, так как можно уже использовать Eclipse для разработки частей системы, которые используют или производят XML.