У меня есть файл, который начинается с нескольких текстовых строк и продолжается множеством двоичных строк. Мне нужно удалить текстовую строку с ее начала, чтобы получить чистое двоичное содержимое. Предположим, что бинарный раздел начинается со специального слова, например: Connection. Я попытался сделать это, используя сценарий bash с sed
, чтобы удалить все эти текстовые строки. Проблема в следующем: текстовые строки, содержащие символ /
, заставляют sed
интерпретировать символ после /
как отдельную команду. Мой код такой:
while read line
do
sed -i "/"$line"/d" file_name
if [ "$line" != Connection* ]
break;
done < file_name
таким образом, когда переменная «строка» содержит /
символов (например, css/jj), sed возвращает ошибку:
sed: -e выражение #1, символ 6: неизвестная команда: `j'
Как я могу передать переменные, содержащие символ /
, в sed
для удаления связанных строк? Кстати, есть ли способ отделить бинарное содержимое от текста в файле? Иногда в моих файлах нет специального слова или знака в начале двоичного раздела, чтобы его распознать.