如何编写 a sed(或awk,或两者),它将采用以下内容:
echo '1 aa 2 2 3 bb 5 bb 2 5' | sed/awk ...
Run Code Online (Sandbox Code Playgroud)
并且只替换第n次出现的字符串?例如,第三次出现2或第二次出现bb?
因此,预期的输出将是(例如,当替换第二次出现的 时)bb:replaced
1 aa 2 2 3 bb 5 replaced 2 5
Run Code Online (Sandbox Code Playgroud)
输入字符串、替换字符串,n可以是任意输入。
用于sed更改第二次出现的bb
$ sed 's/bb/new-bb/2' file
1 aa 2 2 3 bb 5 new-bb 2 5
Run Code Online (Sandbox Code Playgroud)
或更改第三次出现的 2
$ sed 's/2/12/3' file
1 aa 2 2 3 bb 5 bb 12 5
Run Code Online (Sandbox Code Playgroud)