gpt4 book ai didi

linux - 用多个新字符串替换文件中特定位置的单个字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:46 25 4
gpt4 key购买 nike

我想用一些新字符串替换文件中特定位置的单个字符串。假设我想在如下所示的文件中搜索“BAD”:

MAD
DAD
BAD
DAB
BED

所以现在我想用以下内容替换位置 3 的 BAD:

BAD-1
BAD-2
BAD-3

生成的文件应该如下所示:

MAD
DAD
BAD-1
BAD-2
BAD-3
DAB
BED

我用 sed 做了一些尝试:

sed "s/old/new/g" 

但这只会改变一行。有任何想法吗?

谢谢和问候!

最佳答案

这应该有效:

sed 's/^BAD$/BAD-1\nBAD-2\nBAD-3/' file

MAD
DAD
BAD-1
BAD-2
BAD-3
DAB
BED

使用 awk 进行范围控制:

awk -v n=3 '/^BAD$/{for(i=1; i<=n; i++) print "BAD-" i; next} 1' file

关于linux - 用多个新字符串替换文件中特定位置的单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38787256/

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