将字符添加到每行的开头*和*结尾

时间:2013-08-05 17:07:54

标签: regex perl idiomatic-perl

我有一行纯文本需要包装在'<'中和'/>'。

所以我可以执行此操作perl -pe 's/^/</' myfile,然后再次使用^替换$

无论如何使用一行代码执行此操作而不是在文件上迭代两次?

在sed或awk中可以做得更好吗?怎么样?

3 个答案:

答案 0 :(得分:3)

perl -pe 's/^/</; s!$!/>!' myfile

您可以使用任意数量的陈述;用分号分隔它们。当正则表达式包含/时,请使用备用分隔符。

答案 1 :(得分:2)

又一种方式(但更快:-))

   perl -i -ne 'chomp;print "<$_>\n"' myfile

答案 2 :(得分:0)

perl -pe 's/^.*$/<$0\/>/mg' myfile

编辑:以上发现错误 - 请参阅下面@cjm的评论。