linux下如何将大文件分为多个小文件
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
背景
我们跑在linux上程序,有时候打出的log很大,动不动就是几个G。即不方便查阅,也不方便下载、传输。有没有办法(命令最好)把这样的大文件拆分为多个小文件呢?
拆分文件的Linux命令
(1)将文件按照存储大小拆分
如下命令,将954M大小的文件httpd.log
,按照500MB每个文件大小进行拆分。拆分后,变为xaa
和xab
两个文件,每个文件大小为477M。
# split -b 500MB httpd.log
# ll -lh
total 1.9G
-rw-r--r-- 1 root root 954M Mar 25 12:35 httpd.log
-rw-r--r-- 1 root root 477M Mar 25 12:38 xaa
-rw-r--r-- 1 root root 477M Mar 25 12:38 xab
(2)将拆分后的文件按照某个Tag命名
如下命令,将954M大小的文件httpd.log
,按照200MB每个文件大小进行拆分。拆分后的名字,按照split.log
作为Tag。最终拆分后,变为split.logaa
,split.logab
,split.logac
,split.logad
和split.logae
5个文件,每个文件大小为200M。
# split -b 200M httpd.log split.log
# ll -lh
total 1.9G
-rw-r--r-- 1 root root 954M Mar 25 12:35 httpd.log
-rw-r--r-- 1 root root 200M Mar 25 12:52 split.logaa
-rw-r--r-- 1 root root 200M Mar 25 12:52 split.logab
-rw-r--r-- 1 root root 200M Mar 25 12:52 split.logac
-rw-r--r-- 1 root root 200M Mar 25 12:52 split.logad
-rw-r--r-- 1 root root 154M Mar 25 12:52 split.logae
(3)按照文件内容行数进行拆分
如下命令,将76294B的文件systemlog
,按照每个文件200行内容来进行拆分。并用cat xaa | wc -l
命令统计拆分后的文件,可见拆分后的每个文件内容均为200行。
# split -l 200 systemlog
# ll
total 172
-rw-rw-r-- 1 root root 76294 Mar 25 12:02 systemlog
-rw-r--r-- 1 root root 14369 Mar 25 12:16 xaa
-rw-r--r-- 1 root root 12795 Mar 25 12:16 xab
-rw-r--r-- 1 root root 13566 Mar 25 12:16 xac
-rw-r--r-- 1 root root 13681 Mar 25 12:16 xad
-rw-r--r-- 1 root root 13840 Mar 25 12:16 xae
-rw-r--r-- 1 root root 8043 Mar 25 12:16 xaf
# cat xaa | wc -l; cat xab | wc -l; cat xac | wc -l; cat xad | wc -l; cat xae | wc -l; cat xaf | wc -l
200
200
200
200
200
99
参考
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献12条内容
所有评论(0)