shell处理字符串,在字符串指定位置插入竖线,其字符串中有不同个数的空格

qq_24757385 2015-09-16 11:50:55
如字符串:str=“12321231 1231231 1312312 12323213 431313”
需要在这个字符串中插入竖线,但是不要改变空格的个数,例如:把这个字符串处理结果为
1232|123|1 | | 123|12|31 | | 131|231|2 | |1232|3213 | 4313|13
其中非数字的都为竖线,然后重定向到文件中,每一个竖线中间包含的字串的个数都在文件中读取出来的(可以看做是固定的)
说明:示例中字串的总长度为69(包含空格),分别在字串第4,7,9,10,15,17,22,28,40,43,46,50,54,61,67处后面插入竖线,要体现出空格

请各位大神帮忙,在线等!!!
...全文
670 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesnow008 2016-01-21
  • 打赏
  • 举报
回复
可以用perl的substr来处理,就是数出来字符个数,然后插入你的分隔符 比如: perl -lne 'print substr("$_",0,4)."|".substr("$_",4,3)."|".... ' $yoursroucefile >> $youroutputfile

742

社区成员

发帖
与我相关
我的任务
社区描述
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
  • Power Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧