我需要在文件中的替代空格中打印两个不同的单词。
例如
ABCD
EFGH
IGKL
MNOP
在上面的场景中,我想要打印ab和/ab,如下所示:
ab
ABCD
/ab
ab
EFGH
/ab
ab
IGKL
/ab
ab
MNOP
/ab
*我想要一个一行的格式(不是水平格式(.*我知道这个命令几乎接近我的情况sed 's|^[[:blank:]]*$|</ab>|'
。但我不知道如何应用它。拜托,有人,帮帮我。
with gnu sed
sed -e 'iab' -e 'a/ab' infile
这是如何工作的?
在每一行上
首先在前面插入 ab 并带有'iab'
下一个附加/ab 后与'a/ab'
您必须将 2 个单独的命令与'-e'
一起使用才能执行此操作。
您不能使用sed 'iab;a/ab'
,因为第一个命令 i(插入(不知道要插入的文本在哪里结束并获取所有行。
因此,插入的文本ab;a/ab
在每行之前。
使用所有 sed 执行此操作的另一种方法是
sed -e 'i
ab
a
/ab' infile
如果你对awk
没问题,那么关注可能会在这里帮助你。
awk -v start="ab" -v end="/ab" '{print start ORS $0 ORS end}' Input_file
如果您需要将输出保存到Input_file本身中,请在上面的代码中也附加> temp_file && mv temp_file Input_file
。