Linux 大日志文件按时间查询与分割处理

按时间查看日志

日志文件有40G:

sed -n '/2020-05-02 15:00:/,/2020-05-02 15:05:/p' catalina.out > 20200502.log

大文件分割

split命令操作

[root@iZ2ze2pmuviyporobybycvZ ~]# split --help
Usage: split [OPTION]... [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is 'x'.  With no INPUT, or when INPUT
is -, read standard input.
 
Mandatory arguments to long options are mandatory for short options too.
  -a, --suffix-length=N   generate suffixes of length N (default 2)
      --additional-suffix=SUFFIX  append an additional SUFFIX to file names
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file
  -d, --numeric-suffixes[=FROM]  use numeric suffixes instead of alphabetic;
                                   FROM changes the start value (default 0)
  -e, --elide-empty-files  do not generate empty output files with '-n'
      --filter=COMMAND    write to shell COMMAND; file name is $FILE
  -l, --lines=NUMBER      put NUMBER lines per output file
  -n, --number=CHUNKS     generate CHUNKS output files; see explanation below
  -u, --unbuffered        immediately copy input to output with '-n r/...'
      --verbose           print a diagnostic just before each
                            output file is opened
      --help     display this help and exit
      --version  output version information and exit
 
SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).
 
CHUNKS may be:
N       split into N files based on size of input
K/N     output Kth of N to stdout
l/N     split into N files without splitting lines
l/K/N   output Kth of N to stdout without splitting lines
r/N     like 'l' but use round robin distribution
r/K/N   likewise but only output Kth of N to stdout
 
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'split invocation'

按文件行数分割

catalina.out 按50000分割一个文件:

split -l 50000 -d --verbose catalina.out base-split-name
 
#输出
base-split-name00
base-split-name01
base-split-name02
......

按文件大小分割

除了按照行数切割之外,split还支持通过文件大小进行切割,通过指定-b参数指定文件大小进行切割,文件大小单位支持K, M, G, T, P, E, Z,如下以切割为500M演示文件切割过程。

split -b 500M -d --verbose catalina.out base-split-name
 
#输出
base-split-name00
 
......

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10946

(0)
凯影的头像凯影
上一篇 2024年1月5日 下午3:46
下一篇 2024年1月9日 下午3:49

相关推荐

  • 限制登录Linux服务器的几种方式

    在日常运维中,我们通常使用防火墙iptables跟firewalld的方式来实现访问控制,但在实际环境中,开启防火墙可能会对业务造成影响,所以以下整理了三种限制登录Linux服务器的几种方式。分别是修改TCP Wrappers服务访问控制、修改sshd_config配置文件、防火墙策略iptables跟firewalld。以上三种方式可以针对安全厂商做的漏洞…

    2023年2月28日
    1.3K00
  • CentOS如何修改root用户登录时默认目录

    如何修改root用户默认目录,修改/root/.bash_profile文件,只要加一行cd 路径就可以。 修改其它用户的配置,这个文件应该是在/home/username/.bash_profile(username为登录用户名)。 如何修改用户主机名?

    2023年11月7日
    1.1K00
  • 让你配置linux 路由,你该怎么配置

    如下图所示有两个网络,分别是0网段和2网段,路由器1组成0网段,路由器2从路由器一种分出一个2网段 如果要在不同网段直接通讯,需要添加路由,linux添加路由命令如下: route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] add : 添加一条路由规则 del : 删除一条路由…

    2024年6月18日
    1.2K00
  • 轻松掌握组件启动之Redis单机、主从、哨兵、集群配置

    Redis安装 下载地址:http://redis.io/download 安装步骤: 1: 安装gcc编译器:yum install gcc 2: 将下载好的redis‐5.0.3.tar.gz文件放置在/usr/local文件夹下,并解压redis‐5.0.3.tar.gz文件 3: 切换到解压后的redis‐5.0.3目录下,完成编译与安装 4: 修改…

    2024年5月11日
    1.2K00
  • Win10登录界面死循环怎么办

    在使用Windows 10操作系统的过程中,我们可能会遇到一些意想不到的问题。其中之一就是登录界面陷入死循环,这导致很多小伙伴都无法正常的进入到系统中,那么应该怎么办呢?其实解决起来也并不困难,下面就和小编一起来看看吧。   方法一   1. 首先重启电脑并且按住键盘的“shift”键。   2. 接着依次点击查看高级修复选项>疑难解答>高级选项…

    2024年6月7日
    1.4K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信