下面的代码替换了第一次出现的apple with banana。 如何使用awk / gawk实现相同的目标?
sed -i "0,/apple/s//banana/" myfile.txt
答案 0 :(得分:5)
这就是我想出的:
awk '!x{x=sub("apple","banana")}7' file
例如:
kent$ cat f
foo
apple
foo
apple
apple
kent$ awk '!x{x=sub("apple","banana")}7' f
foo
banana
foo
apple
apple
对于sed -i
(就地更改)部分,如果你使用gawk 4.1.0,你也有这个选项。否则,你必须使用临时文件。