gpt4 book ai didi

perl - 如何在 sed 中包含 perl 命令?

转载 作者:行者123 更新时间:2023-12-04 05:56:02 24 4
gpt4 key购买 nike

我有需要剪切的日志文件,每行输出 DD-MM-YYYY HH:MM:SS。理想情况下,我想要这样一个文件的最后 10 分钟。

我有一个 perl 命令来获取 10 分钟前的时间:

perl -e 'use POSIX qw(strftime); print strftime "%e-%m-%Y %H:%M:%S",\ localtime(time()- 600);'

示例输出:29-02-2012 16:38:14

和一个 sed 命令来剪切文件。这适用于手动日期和现在作为第二个变量的系统时间。我无法使用 date 的更高级功能,因为我认为我使用的是 Solaris 8 和 c shell。
sed '1,/29-02-2012 16:07/d;/=$(date +%d-%m-%y %H:%M:%S")/,$d' debug.log | tee cut-log | less

任何帮助表示赞赏...

最佳答案

只需在 perl 中完成所有操作,使用 ..运算符(operator)。就像是

perl -MPOSIX -n -e 'print if /@{[ strftime "%e-%m-%Y %H:%M:%S",\ localtime(time()- 600) ]}/ .. /@{[ strftime "%e-%m-%Y %H:%M:%S",\ localtime(time()) ]}/ '

编辑:代码粘贴错误。我已经修好了。

关于perl - 如何在 sed 中包含 perl 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9503243/

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