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

相关推荐

  • root用户 ssh远程登录 提示access denied

    ssh远程登录 提示Access denied,如下图所示: 需要修改SSH服务配置文件sshd_config来解决这个问题。文件路径为 /etc/ssh/sshd_config ,默认文件内容如下图: 图中红框内容修改为 PermitRootLogin yes,如下图所示: 修改好配置文件并保存,service ssh restart 重启SSH服务,ss…

    2023年6月8日
    1.3K00
  • 在windows server 2012上安装NFS服务

    1.1新建服务器角色,选择【NFS服务器】。                    1.2       选择【添加功能】。 1.3         完成安装。 二   配…

    2023年2月22日
    1.6K00
  • Git:合并多个commit 的高级技巧

    前言 在我们的日常项目开发中,git commit -m 无疑是使用最频繁的指令,这也造成了大量的commit 在我们的分支上。这样常常会带来分支过长、版本过多的问题。 正文 想要解决这个问题,我们通常会对commit 进行合并。 当我们发现两个commit 或多个commit 存在很强的关联性、并且几个commit 加起来也可以成为一个完整的描述的时候,就…

    2023年3月15日
    1.9K00
  • Windows Server 2016配置VPN服务器

    有时候工作需要,需要连接公司的ip办公,这个时候就需要vpn服务了,本文就是介绍如何利用windows2016来启用远程路由访问功能。 安装VPN服务 我们先将服务器加域,这样可以为以后的登陆使用域控账户来进行登陆。 添加远程访问服务 选择DirectAccess和VPN(RAS) 安装完成后选择打开开始向导 配置VPN服务 选择仅部署VPN 选择配置并启用…

    2023年10月19日
    2.0K00
  • 部署 OVA 时出现“OVF 软件包无效且无法部署”错误

    通过 vSphere Client 部署 OVA 失败。 您会看到以下错误 Cause 出现此问题的原因是,vSphere Client 不支持最新 VIC OVA(从 1.1.1 开始)包含的 SHA256 哈希算法。 在使用 Get-Ovf Configuration cmdlet 时,还会影响通过 PowerCLI 进行的任何 OVA 部署。 Reso…

    2023年8月11日
    2.0K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信