通过第二个令牌命令grep输出

时间:2019-01-18 14:30:22

标签: bash sorting grep

我为许多日志文件中的日志输出感到烦恼。我希望按时间对grep命令的输出进行排序,这是每个日志行的第二个标记。日志行之前带有以下格式的日期:

[2019-Jan-18 09:46:40.385624]

日志从今天开始才存在,因此仅按时间排序就足够了。

我正在使用以下命令grep输入字符串:

grep "needle" /path/to/logs/*

如何通过增加时间来排序输出?我已经尝试通过管道传递到sort命令

grep "needle" /path/to/logs/* | sort

但这仅按文件名排序。

1 个答案:

答案 0 :(得分:1)

要强制sort对第二列进行排序,应使用以下命令:

grep "needle" /path/to/logs/* | sort -k2

要仅用于排序 第二列,您应按以下方式使用它:

grep "needle" /path/to/logs/* | sort -k2,2