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