使用sed如何在一个大字符串中的数字之后放置空格

use*_*518 2 bash awk sed

在一次采访中询问了这个问题.我无法回答!所以在这里得到一些帮助来理解逻辑.即如何在数字字符串和字符串之间放置空格.

给定字符串"1abc2abcd3efghi10z11jkl100pqrs"您使用什么命令获得以下结果 -

"1 abc 2 abcd 3 efghi 10 z 11 jkl 100 pqrs"

提前致谢.

csi*_*siu 5

这是另一个 - 但很简单 - 思考它的方式:

echo "1abc2abcd3efghi10z11jkl100pqrs" | \
 sed -r 's/([0-9])([a-zA-Z])/\1 \2/g; s/([a-zA-Z])([0-9])/\1 \2/g'
Run Code Online (Sandbox Code Playgroud)
  • 在数字字母字符串和字母数字字符串之间添加空格
  • ()是捕获组,\1\2返回第一个和第二个捕获的组