linux下大文件处理
linux下采用先分割后合并的策略处理大文件
第一步:分割文件 split
split 参数:
-a, --suffix-length=N 指定输出文件名的后缀,默认为2个
-b, --bytes=SIZE 指定输出文件的字节数
-C, --line-bytes=SIZE 每一输出档中,单行的最大 byte 数
-d, --numeric-suffixes 使用数字代替字母做后缀
-l, --lines=NUMBER 按照行数分割文件
例:
[[email protected] sh]# split -b 1024 -a 3 push.sh
[[email protected] sh]# ls
push.sh xaaa xaab xaac xaad xaae xaaf
使用-a参数指定文件后缀名的个数为3
[[email protected] sh]# split -b 1024 push.sh push_
[[email protected] sh]# ls
push_aa push_ab push_ac push_ad push_ae push_af push.sh
-b参数指定输出文件的大小为1024字节,push_指定输出文件的前缀代替默认的x
[[email protected] sh]# split -b 1024 -d push.sh
[[email protected] sh]# ls
push.sh x00 x01 x02 x03 x04 x05
-d参数设置输出文件的后缀为数字,默认的为字符
[[email protected] sh]# split -l 5 push.sh
[[email protected] sh]# ls
push.sh xaa xac xae xag xai xak xam xao xaq xas xau xaw xay xba
xab xad xaf xah xaj xal xan xap xar xat xav xax xaz
-l指定输出稳定的行数为5
第二步:把处理后的文件合并(会自动按后缀排序连接):
cat small_files* > large_file
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。