思路和关键指令:
split 拆分大文件,sort -u 排序去重,sort -m 合并子文件
详解:
拆分大文件:
split bigFile -l 按行分割
-b 按大小分割 M K
所有的子文件排序:
sort -u subFileName > subFileName.tmp
合并所有的子文件:
sort -m allSubFileName.tmp -u > resultFileName
sort 参数:
-u subFileName (unique 排序去重)
-m (merge 合并文件)
-o (output 输出到指定文件)
split 参数:
-a, --suffix-length=N 指定输出文件名的后缀,默认为2个
-b, --bytes=SIZE 指定输出文件的字节数,可跟K M
eg split file -b 10k
-C, --line-bytes=SIZE 每一输出档中,单行的最大 byte 数
-d, --numeric-suffixes 使用数字代替字母做后缀
-l, --lines=NUMBER 指定输出文件的行数
注意:
1:“split:Output file suffixes exhausted”的解决方案:
分割文件时,默认的子文件是以两个字母组合的,当你要分割的大文件过大,即切割的子文件过多时,已经超过26*26个,就会提示以上错误。split在提示我们输出的文件名后缀被用光了。这时加上-a参数即可,表示用几个后缀,默认是2个。
split fileName -l $lines -a 3 "tempfile"
"tempfile"是切割后的子文件名的前缀。
没有评论:
发表评论