linux+;合并文件的最佳方式是什么

linux+;合并文件的最佳方式是什么,linux,bash,awk,sed,ksh,Linux,Bash,Awk,Sed,Ksh,我在/var/tmp目录下有以下文件(超过80个文件) report1.txt report2.txt report3.txt . . . . . 合并所有文件的最佳方法是什么:将[1-N].txt报告到一个文件中 现在,为了将所有文件合并到一个文件,我执行以下步骤(但这种方式并不优雅..) 您可以使用: 编辑:根据您的评论,您希望使用一个变量。由于大括号展开发生在变量展开之前,因此不能在大括号内使用变量。另一种方法是使用自定义格式的seq: cat $(seq -f "re

我在/var/tmp目录下有以下文件(超过80个文件)

 report1.txt
 report2.txt
 report3.txt
 .
 .
 .
 .
 .
合并所有文件的最佳方法是什么:将[1-N].txt报告到一个文件中

现在,为了将所有文件合并到一个文件,我执行以下步骤(但这种方式并不优雅..)

您可以使用:


编辑:根据您的评论,您希望使用一个变量。由于大括号展开发生在变量展开之前,因此不能在大括号内使用变量。另一种方法是使用自定义格式的
seq

cat $(seq -f "report%g.txt" $NUM) > allreports.txt
其中
NUM
是要传递的变量。默认情况下,序列将从1开始。如果要更改,请指定第一个和最后一个数字(或变量):

您可以使用:


编辑:根据您的评论,您希望使用一个变量。由于大括号展开发生在变量展开之前,因此不能在大括号内使用变量。另一种方法是使用自定义格式的
seq

cat $(seq -f "report%g.txt" $NUM) > allreports.txt
其中
NUM
是要传递的变量。默认情况下,序列将从1开始。如果要更改,请指定第一个和最后一个数字(或变量):


您可以使用
*

cat report* > newfile

它将把所有以
报告开始的文件
放入一个新文件

您可以使用
*

cat report* > newfile

它会将所有以
report
开头的文件放入一个新文件中

很好的解决方案-:)+1。但是如果我无法验证文件总数,那么您的解决方案是什么?(80可以是其他数字),我可以在80处设置一些VAL来计算所有文件吗?@Maihabunah否,大括号展开发生在变量展开之前。因此,不能将变量与
{..}
一起使用。一种方法可能是利用地球仪,但这并不能保证秩序得到维护。因此,在这种情况下,您可能需要一个循环。是的,您是对的-但我仍然存在一个问题,即我无法验证最后一个数字是多少,并且这个数字可以随时更改(取决于我们有多少个文件)-:(很好的解决方案-:)+1,但如果我无法验证文件的总数,那么您的解决方案是什么?(80可以是其他数字),我可以在80处设置一些VAL来计算所有文件吗?@Maihabunah否,大括号展开发生在变量展开之前。因此,不能将变量与
{..}
一起使用。一种方法可能是利用地球仪,但这并不能保证秩序得到维护。因此,在这种情况下,您可能需要一个循环。是的,您是对的-但我仍然存在一个问题,即我无法验证最后一个数字是什么,并且这个数字可以随时更改(取决于我们有多少个文件)-:(但如果我也有文件作为report@.txt,我们只希望合并具有此规则的文件-report1-N.txt(N是整数number@maihabunash那么devnull的解决方案会更好。几乎,report80whater.txt也被采用,…@maihabunah,定义更多的文件名约定范围来选择,这样2个回复都可以调整。但是如果我也有文件作为report@.txt,我们只希望合并具有此规则的文件-report1-N.txt(N是整数number@maihabunash那么devnull的解决方案会更好。几乎,report80whater.txt也被采用,…@maihabunah,定义更多的要选择的文件名约定范围,这样2个回复都可以调整。
cat report* > newfile