仅在整个文件中仅替换一次字符串

时间:2013-10-07 18:26:51

标签: string sed

我有一个文件,我希望只在整个文件IE中替换一个字符串,它找到的第一个匹配应该被替换。 sed -i's / foo / foo1 / 1'

2 个答案:

答案 0 :(得分:3)

请尝试以下操作:

sed -i '0,/foo/s//foo1/' file

在这里,

/foo/将获取第一次出现 foo 的行号,让我们说#n

然后将搜索相同的单词直到 #n并替换为foo1

答案 1 :(得分:2)

awk '!f{f=sub(/foo/,"foo1")} 1' file