将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命令的主要内容,如果未能解决你的问题,请参考以下文章
基于其他列(即应用 CDC)将多个 spark 数据帧行组合成一个
如何编辑这个 mySQL 以便将相同 id 的行组合成 1 而不是 3?