gpt4 book ai didi

linux - 如何不处理之前已经处理过的文件? (它们不会被压缩或重命名)

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:23 24 4
gpt4 key购买 nike

我对包含大量名称以 SystemOut* 开头的日志的文件夹具有只读访问权限:

SystemOut_15.03.12_1215124.log
SystemOut_15.03.12_23624.log
SystemOut_15.03.02_845645.log
SystemOut_15.03.14_745665.log
SystemOut_15.03.16_456457.log
SystemOut_15.03.07_474574.log

日志未压缩或重命名。

我需要实现的是以这样一种方式解析它们,使得已经处理过的日志不会被再次处理。此外,强制条件是不处理具有最新修改日期和时间的日志。

我可能会认为我需要在我具有写入权限的位置创建一个单独的文件,其中包含我的脚本已经处理过的日志名称?

如果您能提供一些建议以及如何实现这些建议,我们将不胜感激。谢谢

最佳答案

我同意在单独的文件中跟踪您已处理的日志是个好主意。从你的问题中不清楚你将如何识别当前日志,所以我把它留给你。

尝试这样的事情:

mysavedfiles=/some/path/file.txt
curfile=$(ls -tr | tail -n 1)
for fn in logfiles/*.log
do
if ! grep -q $fn $mysavedfiles && [ "$fn" != "$curfile" ]
then
... process it ...
echo $fn >>$mysavedfiles
fi
done

您还可以通过更改为由某些处理提供的 while read 循环来排除最后一个文件:

ls -tr logfile/*.log | head -n -1 | while read fn
do
....
done

关于linux - 如何不处理之前已经处理过的文件? (它们不会被压缩或重命名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29163047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com