打印第二列中的数字,在新行中打印的次数始终与第一列中指定的次数相同

打印第二列中的数字,在新行中打印的次数始终与第一列中指定的次数相同

我如何打印列 2 中的值,次数与列 1 中指定的次数相同。

10 -11
9 -10
7 -9
7 -8
7 -7
12 -6
362 -1
271 1
94 2
41 3
17 4
13 5
16 6
5 7

预期输出:

-11
-11
-11
-11
-11
-11
-11
-11
-11
-11.....so on and so forth...

答案1

这个 perl 单行命令可以完成这个工作:

perl -ane '($x,$y)=split;print"$y\n"x$x' file

出处:

-11
-11
-11
-11
-11
-11
-11
-11
-11
-11
-10
-10
-10
-10
-10
-10
-10
-10
-10
...

解释:

($x,$y)=split;      # split the values from each line ($x=first value, $y=second value)
print"$y\n"x$x      # print $x times the value $y followed by line break

相关内容