我有从1到n的文件,如下所示:
sim.o500.1
sim.o500.2
.
.
.
sim.o500.n
每个文件只包含一行。现在我想按从1到
n
的顺序连接它们。我试过了。不幸的是,如果例如
cat sim.o500.* > out.dat
大于9,则这不起作用,因为这会连接n
后接sim.o500.1
而不是sim.o500.10
后接sim.o500.1
。如何使用数字顺序循环浏览文件名?
最佳答案
由于*
以非数字排序的方式展开,您最好用seq
自己创建序列:这样,10
将在9
等之后停止。
for id in $(seq $n)
do
cat sim.o500.$id >> out.dat
done
注意,我使用
seq
以便您能够使用变量来指示序列的长度。如果这个值碰巧是固定的并且事先知道的,您可以直接使用范围扩展来写入n
值,比如:for id in {1..23}
。关于linux - 在Linux上使用cat连接有序文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29389980/