我正在使用fold -w 3
将一行拆分为多个 3 个字符长,但是对于 GNU 实现,它似乎不适用于具有多字节字符的文本。
我怎样才能实现上述目标sed
?
我想出了sed -r 's/^(.{0,3})(.*)/\1\n\2/g'
但是这只会做一个替换:
echo "111222333444555666" | sed -r 's/^(.{0,3})(.*)/\1\n\2/g'
111
222333444555666
Run Code Online (Sandbox Code Playgroud)
附加示例:
echo "???????????????????????" | sed -r 's/^(.{0,3})(.*)/\1\n\2/g'
???
????????????????????
Run Code Online (Sandbox Code Playgroud)
并且fold
它的破坏行为:
echo "???????????????????????" | fold -w 3
??
??
??
??
??
Run Code Online (Sandbox Code Playgroud)