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