如何在我拖尾的 1 个单词中插入逗号

问题描述

我有一个带有以下输出的日志:

$ tail -n1 /home/shares/number-10.log
123456

我希望输出为:12,34,56

解决方法

tail -n1 /home/shares/number-10.log | sed -r 's/([[:digit:]]{2})/\1,/g;s/,[[:space:]]?+$//'

使用 -r 或 -E 启用 sed 正则表达式解释,然后用两个数字后跟逗号替换所有出现两次的数字。然后在第二个语句中,删除末尾的逗号。

根据要求修改答案:

tail -n1 /home/shares/number-10.log | sed -r 's/([[:digit:]]{2})/\1|/g;s/|[[:space:]]?+$//'

与第一个示例相同,但使用“|”而不是“,”

,

也可以使用bash变量操作:

var=`tail -n1 /home/shares/number-10.log`
echo "${var:0:2},${var:2:2},${var:4:2}"
echo "${var:0:2}|${var:2:2}|${var:4:2}"