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

String 在整个文件中仅替换字符串一次,string,sed,String,Sed,我有一个文件,我希望在整个文件中只替换字符串一次,即它找到的第一个匹配项应该被替换。 sed-i's/foo/foo1/1'尝试以下操作: sed -i '0,/foo/s//foo1/' file 这里, /foo/将获取foo第一次出现的行号,比如说\n 然后将搜索同一个单词,直到第#n行,并替换为foo1尝试以下操作: sed -i '0,/foo/s//foo1/' file awk '!f{f=sub(/foo/,"foo1")} 1' file 这里, /foo/将获取foo第

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

尝试以下操作:

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

/foo/
将获取foo第一次出现的行号,比如说
\n

然后将搜索同一个单词,直到第
#n
行,并替换为
foo1

尝试以下操作:

sed -i '0,/foo/s//foo1/' file
awk '!f{f=sub(/foo/,"foo1")} 1' file
这里,

/foo/
将获取foo第一次出现的行号,比如说
\n

然后将搜索同一个单词,直到第
#n
行,并替换为
foo1

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