【发布时间】:2013-05-24 20:12:24
【问题描述】:
我有一个包含以下内容的文件。
file.txt(注意:文件内容不是静态的,是动态的)
H 0 7 11 *
我想使用sed 在两个模式匹配之间插入它们,如下例所示,
文件内容
...
...
<spec>H 0 7 11 *</spec>
...
...
我尝试了以下但我失败了:(它放在那条线以下。
$ sed '/<spec>/ r file.txt' infile
这是我得到的输出我如何把它放在两个匹配之间?
<spec></spec>
H 0 7 11 *
【问题讨论】:
-
&这是文件中唯一的一行?
-
为什么不能简单地
read x < file.txt; echo "<spec>$x</spec>" -
@anishsane 是的,仅此而已,但它不是静态内容,它每次都会改变。
-
那么上面使用简单回显的注释可以吗?如果是,我可以将其添加为答案 ;-)
-
如果
file.txt包含3行数据会怎样? 1行输出还是3或5?<spec>在一行上,file.txt的数据在一行或多行上,</spec>在另一行上,这有关系吗?如果file.txt为空怎么办?