我可以在不创建新行的情况下添加一行吗?

时间:2015-02-08 23:33:16

标签: sed

如果我有一个包含以下内容的文本文件:

This is a line

使用sed,我该怎么做:

<p>This is a line</p>

我尝试过以下脚本:

i\<p> a\</p>

但是这给了我

<p>
This is a line
</p>

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:4)

使用s///不附加或插入。

$ echo 'This is a line' | sed 's~.*~<p>&</p>~'
<p>This is a line</p>
替换部分的

&指的是整场比赛。

你也可以这样做,

$ echo 'This is a line' | sed 's~^~<p>~;s~$~</p>~'
<p>This is a line</p>

答案 1 :(得分:0)

您还可以使用awk

echo 'This is a line' | awk '$0="<p>"$0"</p>"'
<p>This is a line</p>

或更强大:

echo 'This is a line' | awk '{$0="<p>"$0"</p>"}1'
<p>This is a line</p>