我需要定期发送一组可能会变得非常大的日志文件,因此我只想发送每个文件的最后n行。
例如:
/usr/local/data_store1/file.txt (500 lines)
/usr/local/data_store2/file.txt (800 lines)
给定一个包含名为 的所需文件列表的文件files.txt
,我想创建一个存档(tar 或 zip),其中包含每个文件的最后 100 行。
我可以通过使用尾部文件创建一个单独的目录结构来做到这一点,但是当可能发生一些管道魔术来完成它时,这似乎是一种资源浪费。还必须保留完整的目录结构,因为不同目录中的文件可以具有相同的名称。
如果可能的话,我希望解决方案是一个 shell 脚本,但是 perl(不添加模块)也是可以接受的(这适用于没有安装 ruby/python/etc.. 的 Solaris 机器。)