【Linux命令之大文件切分与合并】

Linux查看日志

sed -n ‘/开始时间日期/,/结束时间日期/p’ all.log

sed -n ‘/2019-10-24 22:16:21/,/2019-10-24 22:16:59/p’ all.log

sed -n ‘/2019-10-24 22:14:/,/2019-10-24 22:16:/p’ all.log

sed -n ‘/2019-10-24 22:16:21/,/2019-10-21 20:16:58/p’ all.log | grep POST

less -N file

grep world copy.log | less

tail 和 less 命令结合起来使用

tail -n +10000 | less // 从第 10000 开始,使用 less 查看。
tail -n 10000 | less // 查看倒数第 1000 行到文件最后的数据。

与其说是查看大日志文件的方法,不如说是将 grep/awk/sed/head/less/tail 多个命令结合起来的方法

Linux命令之大文件切分与合并

一:切分
当面临将一个大文件进行切分时,linux的split命令是很好的选择。它包含多种参数,支持按行、大小进行切分。

split命令的语法如下:

split [–help][–version][-a ][-b][-C ][-l ][要切割的文件][输出文件名前缀]

对应的参数描述如下:

-a, --suffix-length=N

使用的后缀长度 (默认为 2)  

-b, --bytes=SIZE

每个输出文件的字节大小  

-C, --line-bytes=SIZE

每个输出文件每行的最大字节大小  

-d, --numeric-suffixes

使用数字后缀代替字母后缀  

-l, --lines=NUMBER

设定每个输出文件的行数  

–help 显示帮助信息

–version

显示版本信息  

下面举几个例子:

1)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。命令:

[plain]

$ split -b 10m splitTest.txt

$ ls

splitTest.txt xaa xab xac

2)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。指定分割后的文件前缀位split,命令:

$ split -b 20m splitTest.txt split

$ ls

splitaa splitab splitac splitTest.txt

3)将文件splitTest.txt分割成多个文件,每个文件50万行。命令:

[plain]

$ wc -l splitTest.txt

1502216 splitTest.txt

$ split -l 500000 splitTest.txt split

$ ls

splitaa splitab splitac splitad splitTest.txt

4)将文件splitTest.txt分割成多个文件,每个文件50万行。指定分割后的文件后缀为数字,数字位数为3位,命令:

[plain]

$ wc -l splitTest.txt

1502216 splitTest.txt

$ split -l 500000 -d -a 3 splitTest.txt split

$ ls

split000 split001 split002 split003 splitTest.txt

二:合并
可以使用cat命令将切分后的文件合并成新的文件:

[plain]

$ cat split0* > original.txt

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值