是否有一个Unix命令来获取/app/instance的每个dir的日志归档中的最新文件?在下面的示例中,我在/app/instance中有5个文件夹:as_a、as_b、as_c、aunz、naeu,我需要在每个归档文件夹中获取最新的weekend.log文件。
文件:
18790 Nov 15 13:48 /app/instance/as_a/logsarchive/log_20151115_134850/weekend.log
24533 Nov 15 14:20 /app/instance/aunz/logsarchive/log_20151115_141952/weekend.log
69906 Nov 21 08:30 /app/instance/naeu/logsarchive/log_20151121_083000/weekend.log
37923 Nov 21 11:10 /app/instance/as_a/logsarchive/log_20151121_111000/weekend.log
30830 Nov 21 11:15 /app/instance/as_b/logsarchive/log_20151121_111500/weekend.log
16186 Nov 21 11:20 /app/instance/as_c/logsarchive/log_20151121_112000/weekend.log
36365 Nov 21 11:25 /app/instance/as_c/logsarchive/log_20151121_112500/weekend.log
28407 Nov 22 01:23 /app/instance/as_b/logsarchive/log_20151122_012247/weekend.log
28407 Nov 22 10:14 /app/instance/aunz/logsarchive/log_20151122_101339/weekend.log
50945 Nov 28 08:30 /app/instance/naeu/logsarchive/log_20151128_083000/weekend.log
32704 Nov 28 11:10 /app/instance/as_a/logsarchive/log_20151128_111000/weekend.log
30931 Nov 28 11:15 /app/instance/as_b/logsarchive/log_20151128_111500/weekend.log
16186 Nov 28 11:20 /app/instance/as_c/logsarchive/log_20151128_112000/weekend.log
31297 Nov 28 11:25 /app/instance/aunz/logsarchive/log_20151128_112500/weekend.log
24533 Nov 29 10:10 /app/instance/aunz/logsarchive/log_20151129_101033/weekend.log预期产出:
32704 Nov 28 11:10 /app/instance/as_a/logsarchive/log_20151128_111000/weekend.log
30931 Nov 28 11:15 /app/instance/as_b/logsarchive/log_20151128_111500/weekend.log
16186 Nov 28 11:20 /app/instance/as_c/logsarchive/log_20151128_112000/weekend.log
50945 Nov 28 08:30 /app/instance/naeu/logsarchive/log_20151128_083000/weekend.log
24533 Nov 29 10:10 /app/instance/aunz/logsarchive/log_20151129_101033/weekend.log发布于 2015-12-01 18:31:54
试一试如下:
for dir in /app/instance/*; do
ls -lcrt "$dir/logsarchive"/*/weekend.log | tail -n 1
done循环逐个遍历/app/instance的子目录,而tail -n 1只保留ls的最后一行,后者按时间排序。我可能没有您使用的完全相同的ls格式,但这应该接近您正在寻找的。
https://unix.stackexchange.com/questions/246658
复制相似问题