【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命令需要先对 文件进行排序


原文地址:https://www.cnblogs.com/huzs/p/3742015.html