如何使用bash脚本将一行中的某些重复模式分成多行? [英] How can I separate some repeated patterns in a row into multiple rows using bash script?
问题描述
我的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屋!