将一行中的每个数字重复 n 次,其中 n 是行中的数字
Duplicate each number in a row n times, where n is the number in the row
我有文本文件,每个文件都有一列数字:
2
3
4
我想将每一行复制 n
次,其中 n
是行中的数字,因此输出如下所示:
2
2
3
3
3
4
4
4
4
我发现的唯一示例使用了固定数量的 n
。
我认为 sed
可能适合阅读每一行,但我一直无法弄清楚如何告诉 sed
使用每行中的数字作为该行应该重复的次数。
'这在 awk
中是微不足道的:
awk '{for (i = 1; i <= ; i++) print [=10=]}'
或者,等价地:
awk '{for (i = 0; i < ; i++) print}'
请注意,代码针对 </code> 而不是 <code>[=15=]
进行测试,但会打印 [=15=]
而不是 </code>。这允许您输入例如:</p>
<pre><code>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
你会得到相当丰富的输出,按照行中第一个数字的指示重复这些行。
我有文本文件,每个文件都有一列数字:
2
3
4
我想将每一行复制 n
次,其中 n
是行中的数字,因此输出如下所示:
2
2
3
3
3
4
4
4
4
我发现的唯一示例使用了固定数量的 n
。
我认为 sed
可能适合阅读每一行,但我一直无法弄清楚如何告诉 sed
使用每行中的数字作为该行应该重复的次数。
'这在 awk
中是微不足道的:
awk '{for (i = 1; i <= ; i++) print [=10=]}'
或者,等价地:
awk '{for (i = 0; i < ; i++) print}'
请注意,代码针对 </code> 而不是 <code>[=15=]
进行测试,但会打印 [=15=]
而不是 </code>。这允许您输入例如:</p>
<pre><code>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
你会得到相当丰富的输出,按照行中第一个数字的指示重复这些行。