具有特殊字符的tr命令

时间:2012-03-19 14:54:54

标签: bash

我正在尝试将"<br>"替换为“\ n”,但未找到如何使用&lt;&gt;与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 bash,版本3.2.48(1)-release(x86_64-apple-darwin11)。 还有其他想法吗?

1 个答案:

答案 0 :(得分:6)

tr用于将字符映射到其他字符。对于此任务,我建议使用sed

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

这告诉sed用换行符替换<br>的每个实例。

修改

如果你有问题,因为/ \在sed中,这将解决问题

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