猫data_file n次

时间:2019-03-30 05:22:37

标签: bash shell

我有一个像这样的文件:

1
2
3

每次复制后,我需要用空行将数据复制n次。我用了这些命令

#!/bin/sh
num=$(sed -n '1 p' FILE.txt)
for i in {1..  $num }; do cat distance_k.txt >> distance.txt; done

n是从另一个文件'FILE.txt'中获取的数字(FILE.txt的格式如下:

90
Abcbaahjfh
...

但是,它仅复制了4次。 请你帮助我好吗? 非常感谢!

打击壳

输出

1
2
3

1
2
3

1
2
3

1
2
3 

1
2
3

...

1 个答案:

答案 0 :(得分:1)

使用另一种循环:

num=$(sed -n '1 p' FILE.txt)
for (( i=0; i<num; i++ ))
do
    cat distance_k.txt
    printf '\n'
done >distance.txt

如果愿意,可以使用for (( i=1; i<=num; i++ ))代替for (( i=0; i<num; i++ ))。如果不使用i的值,则相同。