sed:如何在每一行前后插入?

sed: How to insert before and after every line?

我想知道如何使用 [=13= 在文本文件的每一行 beforeafter ] OS X,但我的方法显然有问题。

这是我的:

sed 's/\(^\).\($\)/A  Z/g' input

这就是我想要的:

输入:

bbb

ccc
ddd

输出:

A bbb Z

A ccc Z
A ddd Z

编辑: 另外,不要匹配空行(或只包含空格的行)。

您可以使用:

sed 's/.*/A & Z/' file
A bbb Z
A ccc Z
A ddd Z

& 是正则表达式模式中完全匹配的反向引用。

或使用 awk:

awk '{print "A", [=11=], "Z"}' file

您可以使用:

sed 's/.*/A [=10=] Z/' input
  • .* 将匹配整行
  • \0 将超过第一个表达式的完整内容