附件中是一个数据文件,每一行表示一个用户的UID。你可以用它来练习下切分和合并文件。
1.切分文件的用法:
1)将一个文件按行切分:
[root@leto215 test]# ls
testuid.txt
[root@leto215 test]# split -l 800000 testuid.txt start1
testuid.txt
[root@leto215 test]# split -l 800000 testuid.txt start1
"-l"后跟行数。
“start1”表示切分的文件的前缀。
[root@leto215 test]# ls
start1aa start1ab testuid.txt
[root@leto215 test]#
start1aa start1ab testuid.txt
[root@leto215 test]#
2)将文件按大小切分:
[root@leto215 test]# ls
testuid.txt
[root@leto215 test]# ll -h testuid.txt
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
testuid.txt
[root@leto215 test]# ll -h testuid.txt
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
[root@leto215 test]# split -b 4m testuid.txt mm
---->这里使用"-b"表示按大小进行切,4m表示大小为4M。mm表示切分的文件前缀。
[root@leto215 test]# ls
mmaa mmab mmac mmad testuid.txt
[root@leto215 test]# ll -lh
total 32M
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmaa
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmab
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmac
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmad
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
[root@leto215 test]#
[root@leto215 test]# ls
mmaa mmab mmac mmad testuid.txt
[root@leto215 test]# ll -lh
total 32M
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmaa
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmab
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmac
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmad
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
[root@leto215 test]#
2.合并文件:
将上面以大小为4m切分的文件取前两个再合并成一个文件:
[root@leto215 test]# ll -lh
total 32M
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmaa
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmab
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmac
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmad
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
[root@leto215 test]# cat mmaa mmab > bigmm
total 32M
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmaa
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmab
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmac
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmad
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
[root@leto215 test]# cat mmaa mmab > bigmm
这里使用cat 进行文件的重定向一个新的文件,进行实现两个文件合并到一个文件。
[root@leto215 test]# ll -lh
total 40M
-rw-r--r-- 1 root root 8.0M Jun 29 13:41 bigmm
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmaa
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmab
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmac
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmad
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
[root@leto215 test]#
[root@leto215 test]# ll -lh
total 40M
-rw-r--r-- 1 root root 8.0M Jun 29 13:41 bigmm
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmaa
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmab
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmac
-rw-r--r-- 1 root root 4.0M Jun 29 13:39 mmad
-rw-r--r-- 1 root root 16M Jun 29 13:33 testuid.txt
[root@leto215 test]#