Linux查找超过5G的文件,21功能之5G文件数据(内存只有50M)中查找某个数据

21功能之5G文件数据(内存只有50M)中查找某个数据

2020年08月12日

| 萬仟网网络运营

 | a48e1d17a2b0511faa7da7240b1971f6.png我要评论

21功能之5G文件数据(内存只有50M)中查找某个数据1 步骤1)分割文件即可。此时我有日志文件5G,为了保持文件数据完整性,我们使用行分割。我是先生成1G的文件,然后循环5次得出的5G文件,你们也可以用4k直接生成5G的文件,但是CPU慢的就会很卡,我的垃圾电脑就是。。。。。。下面给出生成5G的文件,不过你先要用4k的小文件生成1G的先,代码一样,将次数改一下即可。#!/bin/bashBASE_LOG_PATH=~/MyLinux/BigFileSplit/message.log ##1G文件

21功能之5G文件数据(内存只有50M)中查找某个数据

1 步骤

1)分割文件即可。此时我有日志文件5G,为了保持文件数据完整性,我们使用行分割。我是先生成1G的文件,然后循环5次得出的5G文件,你们也可以用4k直接生成5G的文件,但是CPU慢的就会很卡,我的垃圾电脑就是。。。。。。下面给出生成5G的文件,不过你先要用4k的小文件生成1G的先,代码一样,将次数改一下即可。

#!/bin/bash

BASE_LOG_PATH=~/MyLinux/BigFileSplit/message.log ##1G文件

RES_LOG_PATH=~/MyLinux/BigFileSplit/result.log ##目标文件

for i in `seq 1 5`; do

cat $BASE_LOG_PATH >> $RES_LOG_PATH

echo "www.example.com|10.32.185.95|-[28/Oct/2014:12:34:39 +0800]|" >> $RES_LOG_PATH ##目标查找数据

done

2)生成后查看文件的总行数,和对应大小。wc -l result.log与ll -h。得出文件行数为182273288共一亿多行,大小4.6G左右,这里认为是5G。然后利用它们求出分割每个10M小文件需要的行数。即:

5G=182273288;这里假设分割成10M小文件,将5G换算。

(10x102.4x5)M=182273288;除以512后,10M大概就是356002行。

2)split -l 356002 result.log test //分割文件

ll -h //可以看到每个文件是92M左右。

3)自己写一个脚本查找目标数据。

#!/bin/bash

name=~/MyLinux/BigFileSplit/test_ ##用于字符串拼接

for i in `seq 1 512`; do

ename=$name$i ##字符串与数字拼接成文件名

cat -n $ename |grep "www.example.com"

done

本文地址:https://blog.csdn.net/weixin_44517656/article/details/107932554

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

相关文章:

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg

利用UltraScale和UltraScale+FPGA和MPSOC加速DSP设计生产力Accelerating...

复制代码 代码如下: #!/bin/sh export back_date=`date +%y%m%d` export backup...

作为一名linux sa,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者mac绑定,当然后者比较操作起来相对繁琐...

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg

AT指令编程学习AT指令串口准备AT指令的输入AT指令串口准备首先需要准备好esp8266和USB-TTL来进行...

ubuntu系统是一个linux操作系统;下面萬仟网小编给大家介绍ubuntu mysql更改tmp路径的方法。

因为mysql经...

1. linux 脚本编写基础

1.1 语法基本介绍

1.1.1 开头

程序必须以下面的行开始(必须方在文件的第一行):

...

gvim的菜单乱码问题的解决方法:

(乱码是由于系统内码不兼容导致,系统内码包括gb2312 gb18030 utf-8 ut...

centos 7 安装成功后可能已经默认安装了openjdk的jre,但平时进行java开发时需要用完整的jdk,所以为了避免以后不必要的麻烦,在此卸载了ope...

linux中共享库以so为后缀(shared object),与windows下的dll类似,是在程序运行时动态连接。多个进程可以连...

linux 压缩某个文件夹的实现方法

tar -zcvf /home/xahot.tar.gz /xahot

tar -zcv...

网友评论

387afa1e91d68b43eca6c11dc07bf577.gif

验证码:

647445.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值