【发布时间】:2013-06-12 20:47:54
【问题描述】:
我在一个目录中有许多文件,它们的文件名相似,例如 file1、file2、file3、file4、file5、.....、file1000。它们的维度相同,每一个都有 5 列和 2000 行。我想将它们按数字顺序并排粘贴到一个大文件中,因此最终的大文件应该有 5000 列和 2000 行。
我试过了
for x in $(seq 1 1000); do
paste `echo -n "file$x "` > largefile
done
不是在命令行中写入所有文件名,有没有办法可以按数字顺序粘贴这些文件(file1、file2、file3、file4、file5、...、file10、file11、...、文件 1000)?
例如:
文件1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
...
文件2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
....
文件 3
3 3 3 3 3
3 3 3 3 3
3 3 3 3 3
....
粘贴文件1 文件2 文件3 .... 文件1000 > 大文件
大文件
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
....
谢谢。
【问题讨论】:
-
重新命名文件,将前导 0 放入其中会解决问题
-
我意识到我可能无法在命令行中使用 paste * > largefile,因为在前面的步骤之后,同一目录中还有其他文件。我必须处理具有特定名称的文件,例如“file$n”。