将sed截断x行合并为find命令

时间:2018-09-06 11:40:24

标签: sed find

我们在多个服务器上的同一位置有一个大日志文件,我想创建一个cron作业以将文件截断为最后10万行。

以下命令有效:

sed -i 1,$(($(wc -l < /root/server123.example.com.log) -100000))d /root/server123.example.com.log

但是每个服务器上的主机名是不同的(server1,server2,server3等),我希望有一个命令可以粘贴到每个cron文件中。在测试期间,我不确定如何在上述命令中实现通配符。

我认为最好的方法可能是将它与find命令结合使用,但是我对如何做到这一点一无所知。

find /root/server*.example.com.log -type f -exec sed <NOT SURE..> \;

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

  

在测试期间,我不确定如何在上述命令中实现通配符。

如果每个服务器上只有一个日志文件,则只需插入通配符即可:

sed -i 1,$(($(wc -l < /root/server*.example.com.log) -100000))d /root/server*.example.com.log