【shell命令】拆分、合并、排序、比较文件
linux下有很多能快速操作文件的命令,整理几个常用的:
1、拆分文件(按行拆分 -l,按大小拆分 -b ,后面可加单位:b、k、m等):
c:/shell/split.exe -l 3000000 bigfileName /destinationDir/prefix
--- 我是在window环境下使用awk的,所以加了路径 ,prefix 是拆分后的子包名的前缀。
2、合并文件
(1) Windows 下:
type file1 > destinationFile (将文件file1 中的内容写到destinationFile中,如果是追加,需要用:>> ,不然destinationFile中的内容会被覆盖)
(2) Linux 下:
cat file1 > destinationFile ( 同样,追加的话用:>> )
3、文件排序
c:/shell/sort.exe file1.txt > s_file1.txt
-- file1.txt是排序之前的文件,我这里file1.txt中只有1列,是按字母顺序排列的,将排序后的结果写到了 s_file1.txt 中,sort命令的用法很强大,更多的可网上搜索一下。
4、文件比较
c:/shell/comm.exe -12 file1.txt file2.txt
--- 参数 -12 表示,输出在文件 file1.txt 和 文件 file2.txt 中都有的项,-23显示在file1.txt 中出现而未在file2.txt中出现的行,-123则什么也不显示。
注意:使用 comm命令需要先对 文件进行排序