如何包含一个包含带标签的字符的字符串?

时间:2014-10-03 10:36:33

标签: awk sed tags

您好我是一个Linux菜鸟,而且我知道如何更换以" /"开头的行。带标签。
这是一个例子:

/Foo is awesome

我想得到

<i>Foo is awesome</i>

我将不胜感激任何帮助!

4 个答案:

答案 0 :(得分:1)

你可以像这样使用awk和substr

awk '/^\//{$0 = "<i>" substr($0,2) "</i>"}1' file

如果行的开头有/,请附加标记并使用substr从原始行中删除斜杠。 1true,因此awk会为每一行执行默认操作,即打印该行。

答案 1 :(得分:1)

sed '\#^/# {s//<i>/;s#$#</i>#;}' YourFile
# or (with maybe space before)
sed '\#^ */# {s//<i>/;s#$#</i>#;}' YourFile

另一种sed方式,这允许在这一行上工作(如果还有别的事做,而不是简单地用标记来解决)

答案 2 :(得分:0)

你可以试试下面的sed命令,

$ sed 's~^/\(.*\)~<i>\1</i>~' file
<i>Foo is awesome</i>

通过awk,

$ awk '/^\//{sub(/^\//,"<i>");sub(/$/,"</i>")}1' file
<i>Foo is awesome</i>

答案 3 :(得分:0)

$ awk 'sub("^/","<i>"){$0 = $0 "</i>"} 1' file
<i>Foo is awesome</i>