我正在尝试编写一个 bash 脚本,该脚本将使用 sed 替换以给定字符串开头的文本文件中的整行,并且我只希望它对第一个匹配项执行此替换。
例如,在我的文本文件中,我可能有:
hair=brown
age=25
eyes=blue
age=35
weight=177
我可能想简单地将第一次出现的以“age”开头的行替换为不同的数字,而不影响第二个年龄实例:
hair=brown
age=55
eyes=blue
age=35
weight=177
到目前为止,我想出了
sed -i "0,/^PATTERN/s/^PATTERN/PATTERN=XY/" test.txt
但这只会替换字符串“age”本身而不是整行。我一直试图在某处扔一个“\ c”来改变整条线,但到目前为止没有任何效果。有没有人对如何解决这个问题有任何想法?谢谢。