将sed截断x行组合成find命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将sed截断x行组合成find命令相关的知识,希望对你有一定的参考价值。

我们在多个服务器上的同一位置有一个大型日志文件,我想创建一个cron作业来截断该文件以持续100k行。

以下命令有效:

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..> ;

任何帮助,将不胜感激。

答案

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

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

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

以上是关于将sed截断x行组合成find命令的主要内容,如果未能解决你的问题,请参考以下文章

用于将子行组合成单行视图的 SQL 查询

基于其他列(即应用 CDC)将多个 spark 数据帧行组合成一个

如何编辑这个 mySQL 以便将相同 id 的行组合成 1 而不是 3?

使用 find、wc 和 sed 计算行数

我想将 t-sql 中的 json 行组合成单个 json 行

在 PrestoSQL 中将行组合成一个列表