我有一堆以下格式的文本日志文件:
ID (17 characters)
Timestamp (14 characters YYYYmmddHHMMSS e.g. "20060210100040" -> 2006/02/10 10:00:40)
Random data (? characters)
end of line
Run Code Online (Sandbox Code Playgroud)
文件已按时间戳排序。我需要从多个日志文件中获取包含所有日志的 1 个日志文件,按时间戳排序。请注意,日志文件真的很大,每个大约 3-4G(并且有几十个)我尝试了以下命令:
sort -s -m -t '|' -k1n,1n +17 -o data_sort.txt *.TXT
Run Code Online (Sandbox Code Playgroud)
这是我最终得到这个命令的方式:
-s : don't bother with tie results
-m : merge all logs files
-t '|' : there is no | in my logs, so the whole line should be field 1
-k1n,1n: sort on the first field as a numeric value
+17 : the timestamp …
Run Code Online (Sandbox Code Playgroud)