如何编写 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
可以是任意输入。
如何在第 n 个分隔符之后打印字符串的其余部分(不仅仅是没有分隔符的列)?
我有一个包含一堆注册表项的文本文件,类似于:
hku\test\user\software\microsoft\windows\currentversion\runonce\delete cached update binary
Run Code Online (Sandbox Code Playgroud)
我想在第三个\
字符之后打印所有内容。所以我正在寻找输出
software\microsoft\windows\currentversion\runonce\delete cached update binary
Run Code Online (Sandbox Code Playgroud)
我知道如何用 打印出特定的列awk
,但是有没有什么简单的方法可以bash
用来指定一个分隔符来分割字符串,而不是使用分隔符来打印列?