日期:2014-05-16  浏览次数:20651 次

使用Linux 的spilt命令分割文件

? ? 工作中需要查看weblogic日志文件,直接使用神器vim打开,出乎意料shell直接假死了,于是退出查看文件大小,竟然达到了几个G,服务器硬盘都快爆掉了,于是决定分割后再查看

? ??

? ? 查看所属目录文件大小

? ??

# ls -lh
总计 2.1G
-rw-r--r-- 1 root root 123M 10-09 16:44 27web.txt
-rw-r--r-- 1 root root 2.2K 10-09 17:12 ld.txt
-rw-r--r-- 1 root root  18M 09-11 09:17 other.txt
-rw-r----- 1 root root 6.2M 10-14 14:28 szuser.log
-rw-r----- 1 root root 4.1M 09-17 13:53 user.log
-rw-r----- 1 root root 766M 10-14 15:01 web.log
-rw-r----- 1 root root 974M 10-12 23:59 web.log.2013-10-12
-rw-r----- 1 root root 217M 10-13 23:59 web.log.2013-10-13

?

?

? ? 使用spilt分割文件

? ??用法:split [选项] [输入 [前缀]]

? ??

split -b 50m web.log web_part_

ls -lh
总计 2.9G
-rw-r----- 1 root root 766M 10-14 15:04 web.log
-rw-r--r-- 1 root root  50M 10-14 15:03 web_part_aa
-rw-r--r-- 1 root root  50M 10-14 15:03 web_part_ab
-rw-r--r-- 1 root root  50M 10-14 15:03 web_part_ac
-rw-r--r-- 1 root root  50M 10-14 15:03 web_part_ad
-rw-r--r-- 1 root root  50M 10-14 15:03 web_part_ae
-rw-r--r-- 1 root root  50M 10-14 15:03 web_part_af
-rw-r--r-- 1 root root  50M 10-14 15:03 web_part_ag
-rw-r--r-- 1 root root  50M 10-14 15:04 web_part_ah
-rw-r--r-- 1 root root  50M 10-14 15:04 web_part_ai
-rw-r--r-- 1 root root  50M 10-14 15:04 web_part_aj
-rw-r--r-- 1 root root  50M 10-14 15:04 web_part_ak
-rw-r--r-- 1 root root  50M 10-14 15:04 web_part_al
-rw-r--r-- 1 root root  50M 10-14 15:05 web_part_am
-rw-r--r-- 1 root root  50M 10-14 15:05 web_part_an
-rw-r--r-- 1 root root  50M 10-14 15:05 web_part_ao
-rw-r--r-- 1 root root  16M 10-14 15:05 web_part_ap

? ? ?-b ?50m ?指定每个文件50m大小

?

? ? ?web.log ?指定需要分割的文件

? ? ?web_part_ ? 指定分割后文件的前缀 ?

?

? ?如果是以行数分割

? ? ?

? ? 以1000行分割文件

?

split -l 10000 web.txt

? ??

? ?合并文件已分割的文件

? ?cat命令可以将分割后的文件合并成一个文件,并重定向到新的文件

?

?

cat web_part_* > web_demo.log

?

? ? ?当然,也可以使用tail 重定向输出

? ??

tail -n 20000 web.log >other.txt

?

? ? 指定最后的20000行输出到other.txt

??

? ? ?最后推荐一个学习shell命令的网站,http://explainshell.com/

?

?

? ??