通过“sed”将破折号插入字符串中
我有包含数字的 14 个字符行。如何在特定位置(即第 4 个位置)插入一个字符?
那么,如果我有这样的字符串,
xxxxxxxxxxxxxx
如何将其更改为这样的字符串
xxxx-xx-xxxxxxxx
,其中 x 代表数字?
谢谢! 伊雷克
I have 14-character line containing digits. How do I insert a char into it at the specific location, i.e. at 4th?
So, if I have string like this
xxxxxxxxxxxxxx
how do I change it to something like this
xxxx-xx-xxxxxxxx
and whereby x is for a digit?
Thanks!
irek
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的行仅包含您的数字,您可以将前四个字符分组为一组:
并将以下两个字符分组为另一组:
然后,您只需将其替换为对第一组的反向引用(< code>\1)、一个破折号、对第二组的反向引用 (
\2
) 和另一个破折号:结果:
If your lines only contain your digits, you can group the first four characters in a group:
and the following two ones in another group:
Then, you just replace it by a backreference to the first group (
\1
), a dash, a backreference to the second group (\2
) and another dash:The result:
感谢brandizzi的回答,它帮助我使用稍微不同的方法让我的一个工作,
4和2工作替换第四个字符,然后用破折号替换第二个字符。
所以 xxxxxxxx 变成 xxxx-xx-xx
Thanks brandizzi for your answer it helped me to get my one to work using a slightly different method
the 4 and 2 work to replace the 4th character and then 2nd after that with dashes.
So xxxxxxxx becomes xxxx-xx-xx