我有从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/

10-10 12:37