我经常将大量日志文件集中到一个文件中。例如,文件的格式为ABC_0.txt
,最高为ABC_99.txt
.
我通常要做的是重命名单个数字,因此该数字以零为前缀,猫才能工作(例如ABC_0.txt
,ABC_9.txt
必须重命名为ABC_00.txt
to ABC_09.txt
)。
然后我就这样做:
cat *.txt > all.txt
效果很好。
我经常遇到日志文件被轮换的问题,实际上最早的日志文件是ABC_14.txt
例如。所以上面的 cat 行会有all.txt
乱序的内容。
任何想法如何基本上从头ABC_14.txt
开始?
为了澄清我的问题,我有 cat0.txt 到 cat9.txt 的日志文件,但我希望 cat 是这样的:
cat cat7.txt cat8.txt cat9.txt cat0.txt cat1.txt cat2.txt cat3.txt cat4.txt cat5.txt cat6.txt >all.txt
为此,您可以使用 bash 地球仪:
只有 cat 文件以名称“ABC_”开头,后跟一个数字和一些字符,然后以
.txt
.如果
cat
要按修改日期排序的文件,可以执行以下操作:它将首先按修改时间对文件进行排序,然后是
cat
命令ls -tr
将按修改时间排序,最早的在先如果要以
cat
相反的顺序处理文件,可以执行以下操作:这将首先反转文件的顺序,然后是
cat
命令例如
假设每个 ABC_number 的内容是数字本身,输出将是: