2012-03-19 4 views
3

Я пытаюсь заменить "<br>" на "\ n", но не могу найти, как использовать <> с tr. Любая идея, чтобы сделать эту команду работы:tr команда со специальным символом

echo "HTML example<br>Print new line<br>please<br>not work" | tr "<br>" "\n" 

редактировать

FatalError ответ не работает для моего OSX Lion. Я не знаю, почему, но это просто sed команда не делает новую строку, она вернется только

HTML examplenPrint new linenpleasennot work 

Я использую GNU Баш, версия 3.2.48 (1) -release (x86_64-яблочно-darwin11) , Любая другая идея?

ответ

5

tr предназначено для сопоставления символов другим символам. Для решения этой задачи я предлагаю использовать sed:

echo "HTML example<br>Print new line<br>please<br>not work" | sed -e 's/<br>/\n/g' 

Это говорит sed заменить каждый экземпляр <br> с новой строкой символом.

Редактировать

Если у вас есть проблема, потому что/\ в СЭД, это позволит решить проблему

echo "HTML example<br>Print new line<br>please<br>not work" | sed -e "s/<br>/\\`echo -e '\n\r'`/g" 
+0

+1 бить меня по 15 секунд ... – MattH

+0

Удивительный ответ ... – Teja

+0

Я тоже :-) удаление ... – Birei

Смежные вопросы