根据另一个文件中的值打印重复的字符串行

时间:2018-03-20 14:43:23

标签: bash unix awk printf

我确信这有一个很好的解决办法,但是我已经玩弄了很长时间。我试图根据另一个文件中相应的行值从一个文件打印一个字符串的重复。例如:

FILE1.TXT

Hello
Beautiful
World 

file2.txt

2
4
3

desired_output_file.txt

Hello
Hello
Beautiful
Beautiful
Beautiful
Beautiful
World
World
World

2 个答案:

答案 0 :(得分:2)

另一个awk

$ paste file1 file2 | awk '{while($2--) print $1}'

Hello
Hello
Beautiful
Beautiful
Beautiful
Beautiful
World
World
World

答案 1 :(得分:1)

您可以使用awk

awk 'FNR==NR{a[FNR]=$0; next} {for (i=1; i<=$1; i++) print a[FNR]}' file1 file2

Hello
Hello
Beautiful
Beautiful
Beautiful
Beautiful
World
World
World

<强>参考文献: