我想用一些新的字符串替换特定位置的文件中的单个字符串。让我们说我想搜索" 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"
但这只会改变一行。 有任何想法吗?
谢谢和问候!
答案 0 :(得分:0)
这应该有效:
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