我需要在两个字符后插入一个空格,然后在每三个字符后插入一个空格.
数据:
97100101101102101
Run Code Online (Sandbox Code Playgroud)
预期产出:
97 100 101 101 102 101
Run Code Online (Sandbox Code Playgroud)
试图代码:
sed 's/.\{2\}/& /3g'
Run Code Online (Sandbox Code Playgroud)
分两步:
$ sed -r -e 's/^.{2}/& /' -e 's/[^ ]{3}/& /g' <<< 97100101101102101
97 100 101 101 102 101
Run Code Online (Sandbox Code Playgroud)
那是:
's/^.{2}/& /'
抓住线上的前两个字符,然后用空格打印出来.
's/[^ ]{3}/& /g'
捕获三个连续的非空格字符并打印回来后跟一个空格.