2012-07-02 2 views
0

У меня есть HTML-файл, содержащий тексты, как это:Как обрабатывать эту строку?

<p>يورونيوز: <br /> 
&#8220; يقال إن للقمر تأثير كبير على نمو المزروعات، وأزهار الحدائق وخاصة النبيذ . &#8220; </p> 

Теперь я хочу, чтобы удалить
и объединить две строки в одну. Как я могу это сделать? Я должен упомянуть, что “ используется для двойной кавычки, которую я заменяю после конкатенации. Я использовал этот код, но он не работает:

sed -i -e '/<br \/>[ \r\t\n]+/d' 1.html 

ответ

1

sed считывает строку содержимого по линии, поэтому вы не можете просто удалить «\ п» характер. По умолчанию он не отображается sed. Вам нужно сначала прочитать добавить следующую строку шаблона, и только после этого вы можете удалить \n характер:

СЕПГ -e '/ [\ s] + $/{N, d}' 1.html

Есть одна вещь, которую я не понимаю: вы собираетесь удалить строку с <br> и следующей строкой? Если это так, то приведенный выше код прав.

0

спешка правильно назвала причину, по которой ваш код не работал; эта версия делает то, что вы хотите.

sed -i '/<br \/>\s*$/{N;s/<br \/>\s*//}' 1.html 
Смежные вопросы