我有一个像这样的文件:
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
...
答案 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
的值,则相同。