文件合并与分割命令
时间:2010-10-04 来源:huxuelin1989
一 、sort
缺省情况下,域间的间隔为一个空格或一系列空格。(排序时不区分大小写)
1. sort ha.txt 将第一域作为第一关键字、第二域作为第二关键字...从小到大进行排序 2. sort -r ha.txt 逆序排序(从大到小) 3. sort -c ha.txt 判断文件是否分类 4. sort -t: ha.txt 指定分隔符为: 5. sort -u ha.txt 唯一性,删除重复的行 6. 指定比较域 sort -k2 ha.txt 指定第二域 sort -k2n ha.txt 将第二域看成是数值而非字符串进行排序 sort -k2 -k4 ha.txt 第二域为第一关键字,第四域为第二关键字 如果指定一个域, 则排序的键值会自该域开始一直到行的结尾。7. 逗号 sort -k4,4 ha.txt 这里规定键值从第四域的起始处开始到第四域的结尾处。8. 点号 sort -k2.4,5.2 ha.txt 表示: 键值从第四域的第4个字符开始, 直到第五个字段的第2个字符。9. -m 合并两个分类文件10. -o 存储sort结果到某个文件11. -b 使用域进行分类时, 忽略第一个空格
二、uniq
从一个文本文件中删除连续的重复行,类似于sort -u 但有区别: sort -u 删除文件中所有的重复行;uniq 删除连续的重复行。 所以uniq一般是对已排序的文件进行操作,即先sort再uniq 。
1. -u 显示每行,但重复的行只显示一次 2. -d 只显示有重复的行,且重复的行显示一次 3. -c 打印每行出现的次数 4. -f2 从第2域开始比较行是否相同 三、join
将两个分类文本文件的行连接在一起,默认使用第1个文件的第1域和第2个文件的第1域进行匹配,但可以指定。 文件中的域通常用空格或TAB分隔。(一些系统要求使用join时文件的域要少于20, 如果域大于20, 应使用DBMS系统)
1. -t 后跟文件域间的分隔符 2. 选择性连接 用来表示要显示的文件域 -o 1.3,2.4 表示只显示文件1的第3域和文件2的第4域 3. 指定匹配域-j1 3 -j2 4 表示将文件1的第3域和文件2的第4域进行匹配4. -a1(或-a2)增加显示文件1(或文件2)的不匹配行, 默认只显示匹配的行
四、cut
从标准输入或文本文件中剪切域或字符。
1. -d 后跟文件域间的分隔符 2. -c 指定剪切字符数 -c 1-5,7 剪切第1到第5个字符和第7个字符 3. -f 指定剪切域-c 1-5,7 剪切第1到第5域和第7个域
五、paste
按行将不同文件行放在一起,缺省情况下,使用空格或TAB分隔。
1. -d 后跟文件域间的分隔符 2. -s 将每个文件合并成行,而不是按行粘贴 3. - 每一个( -)表示从标准输入中读入一次数据,并且用空格或TAB作间隔符 六、split
按行数将大文件分割成小文件。
split -output_file-size input_filename [output_filename]
output_file-size指的是被分割出来的子文件的行数(最后一个可以小于这个值)。若指定了output_filename 则分割的子文件名为 output_filename[aa]到output_filename[zz], 若没有指定, 则子文件名为 x[aa]到 x[zz] 。
缺省情况下,域间的间隔为一个空格或一系列空格。(排序时不区分大小写)
1. sort ha.txt 将第一域作为第一关键字、第二域作为第二关键字...从小到大进行排序 2. sort -r ha.txt 逆序排序(从大到小) 3. sort -c ha.txt 判断文件是否分类 4. sort -t: ha.txt 指定分隔符为: 5. sort -u ha.txt 唯一性,删除重复的行 6. 指定比较域 sort -k2 ha.txt 指定第二域 sort -k2n ha.txt 将第二域看成是数值而非字符串进行排序 sort -k2 -k4 ha.txt 第二域为第一关键字,第四域为第二关键字 如果指定一个域, 则排序的键值会自该域开始一直到行的结尾。7. 逗号 sort -k4,4 ha.txt 这里规定键值从第四域的起始处开始到第四域的结尾处。8. 点号 sort -k2.4,5.2 ha.txt 表示: 键值从第四域的第4个字符开始, 直到第五个字段的第2个字符。9. -m 合并两个分类文件10. -o 存储sort结果到某个文件11. -b 使用域进行分类时, 忽略第一个空格
二、uniq
从一个文本文件中删除连续的重复行,类似于sort -u 但有区别: sort -u 删除文件中所有的重复行;uniq 删除连续的重复行。 所以uniq一般是对已排序的文件进行操作,即先sort再uniq 。
1. -u 显示每行,但重复的行只显示一次 2. -d 只显示有重复的行,且重复的行显示一次 3. -c 打印每行出现的次数 4. -f2 从第2域开始比较行是否相同 三、join
将两个分类文本文件的行连接在一起,默认使用第1个文件的第1域和第2个文件的第1域进行匹配,但可以指定。 文件中的域通常用空格或TAB分隔。(一些系统要求使用join时文件的域要少于20, 如果域大于20, 应使用DBMS系统)
1. -t 后跟文件域间的分隔符 2. 选择性连接 用来表示要显示的文件域 -o 1.3,2.4 表示只显示文件1的第3域和文件2的第4域 3. 指定匹配域-j1 3 -j2 4 表示将文件1的第3域和文件2的第4域进行匹配4. -a1(或-a2)增加显示文件1(或文件2)的不匹配行, 默认只显示匹配的行
四、cut
从标准输入或文本文件中剪切域或字符。
1. -d 后跟文件域间的分隔符 2. -c 指定剪切字符数 -c 1-5,7 剪切第1到第5个字符和第7个字符 3. -f 指定剪切域-c 1-5,7 剪切第1到第5域和第7个域
五、paste
按行将不同文件行放在一起,缺省情况下,使用空格或TAB分隔。
1. -d 后跟文件域间的分隔符 2. -s 将每个文件合并成行,而不是按行粘贴 3. - 每一个( -)表示从标准输入中读入一次数据,并且用空格或TAB作间隔符 六、split
按行数将大文件分割成小文件。
split -output_file-size input_filename [output_filename]
output_file-size指的是被分割出来的子文件的行数(最后一个可以小于这个值)。若指定了output_filename 则分割的子文件名为 output_filename[aa]到output_filename[zz], 若没有指定, 则子文件名为 x[aa]到 x[zz] 。
相关阅读 更多 +