【发布时间】:2017-10-19 23:56:44
【问题描述】:
我想使用 sed 命令在数字和文本之间添加空格:16a 将是 16 a,89jas 将是 89 jas。
请告诉我答案
谢谢
【问题讨论】:
标签: sed
我想使用 sed 命令在数字和文本之间添加空格:16a 将是 16 a,89jas 将是 89 jas。
请告诉我答案
谢谢
【问题讨论】:
标签: sed
这是一个简单的思考方式:
echo "1abc2abcd3efghi10z11jkl100pqrs" | \
sed -r 's/([0-9])([a-zA-Z])/\1 \2/g; s/([a-zA-Z])([0-9])/\1 \2/g'
() 是捕获组,\1 和 \2 是返回第一个和
第二个捕获组【讨论】:
[0-9] 和 [a-zA-Z] 应替换为 [[:digit:]] 和 [[:alpha:]]。
sed 's/[0-9][0-9]*/& /g'
或使用 -E 调用时支持 ERE 的 sed,例如GNU sed 和 OSX sed:
sed -E 's/[0-9]+/& /g'
【讨论】: