gpt4 book ai didi

linux - sed 用于打印两个不同的单词

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:10 26 4
gpt4 key购买 nike

我需要在文件中的替代空白处打印两个不同的词。

例如,

ABCD
EFGH
IGKL
MNOP

上面的场景,我想像下面这样交替打印 ab 和/ab:

ab
ABCD
/ab
ab
EFGH
/ab
ab
IGKL
/ab
ab
MNOP
/ab

*我想要逐行格式(不是水平格式)。*我知道 sed 's|^[[:blank:]]*$|</ab>|'这个命令几乎接近我的情况。但我不知道如何应用它。请有人帮助我。

最佳答案

使用 gnu sed

sed -e 'i\ab' -e 'a\/ab' infile

这是如何工作的?

在每一行

首先在 'i\ab' 之前插入 ab

接下来在 'a\/ab' 之后附加/ab

您必须使用 2 个带有 '-e' 的单独命令来执行此操作。

您不能使用 sed 'i\ab;a\/ab' 因为第一个命令 i(插入)不知道要插入的文本在哪里结束并获取所有行。

因此插入的文本在每行之前是ab;a/ab

对所有 sed 执行此操作的另一种方法是

sed -e 'i\
ab
a\
/ab' infile

关于linux - sed 用于打印两个不同的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50860808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com