如何使用bash脚本将一行中的某些重复模式分成多行? [英] How can I separate some repeated patterns in a row into multiple rows using bash script?

查看:186
本文介绍了如何使用bash脚本将一行中的某些重复模式分成多行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的bash脚本有问题.

我有一个字符串,上面有一些类似的重复模式.

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 ...

每个字段由Tab键分隔.

我希望它看起来像这样...

1 2 3 4
1 2 3 4
1 2 3 4
...

如何使用bash脚本(如cut,sed,awk ...)解决此问题?

它看起来非常简单,但对我来说却如此困难...

I have some problem with bash script.

I''ve got a string which has some repeated patterns like this.

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 ...

Each fields is separated by tab key.

I want it to look like this...

1 2 3 4
1 2 3 4
1 2 3 4
...

How can I solve this problem using bash script like cut, sed, awk ... ?

It looks very easy but so difficult to me...

推荐答案

您可以像这样使用sed:

You can use sed like this:

解决方案:

s =''1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4''
p =''1 2 3 4''
echo"

s=''1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4''
p=''1 2 3 4''
echo "


s" | sed"s/
s"|sed "s/


p \ s */& \ n/g"
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
p\s*/&\n/g"
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4



您可以使用无限while循环,并使用输入文件并遍历每一行,以便将此逻辑用于多行.

实时演示
http://ideone.com/P59OCJ [



You can use infinite while loop and use the input file and iterate through each line to use this logic for murtiple lines.

Live Demo
http://ideone.com/P59OCJ[^]


这篇关于如何使用bash脚本将一行中的某些重复模式分成多行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆