我有文本文件,每个文件都有一列数字:
2
3
4
我想复制每一行n
次,其中n
是行中的数字,因此输出如下所示:
2
2
3
3
3
4
4
4
4
我找到的唯一示例使用了固定数量的n
。
我认为sed
可能会很好地阅读每一行,但我无法弄清楚如何告诉sed
使用每行中的数字作为时间的值该行应该重复。
答案 0 :(得分:3)
'在awk
中显得微不足道:
awk '{for (i = 1; i <= $1; i++) print $0}'
或等同地:
awk '{for (i = 0; i < $1; i++) print}'
请注意,代码会针对$1
而不是$0
进行测试,但会打印$0
而不是$1
。这允许您输入如下内容:
12 Lords a-leaping
11 Ladies dancing
10 Drummers drumming
9 Pipers piping
8 Maids a-milking
7 Swans a-swimming
6 Geese a-laying
5 Gold rings
4 Calling birds
3 French hens
2 Turtle doves
1 Partridge in a pear tree
并且你会得到相当多的输出重复这些行,就像行中第一个数字所指示的那样。