分类: LINUX
2007-11-26 18:49:56
实用的分类sort操作
uniq
join
cut
paste
split
sort 命令格式:
sort -cum -o output_file [other options] +pos1 +pos2 input_file
-c 测试文件是否已经分类
-m 合并两个分类文件
-u删除所有的重复行
-o存储sort结果的输出文件名
-b 使用域分类
其它选项
-b 使用域进行分类时,忽略第一个空格
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或tab建分割
-r 对分类次序或比较求逆
+n n为域号。使用此域号开始分类。
n n 分类比较的时候忽略的此域与+n一起使用
sort -c fileName 看文件是否分类
sort -t :fileName 给文件排序
sort -t :+1 fileName
sort -t :+2n fileName 按第2项数值排序
sort -u fileName 去掉重复行
sort -t: -k4 fileName 在一域分类,在4域排序
sort -t :1.2 fileName 在一域
sort -t: -r -k4 fileName|head -1
sort -t:-m +o fileName1 fileName 将fileName1合并到fileName2中去
====================================================================
uniq -u d c -f input-file output-file
-u 只显示不重复的行。
-d 只显示有重复的行,每种只显示一行
-c 打印每个重复行出现的次数
-f n为数字,前n个域被忽略
uniq -c fileName
uniq -d fineName
=============================================
join 连接文件功能
join -a1 -a2 filename1 fileName2
join -o 1.1,2.2 filename1 filename2
========================================
cut 用法
cut [options] fileName1 fileName2
-c list 知道选择字符数目
-f field指定选定的域数目
-d 指定分割域
cut -d: -f1,3 fileName
ls 223*|cut -c4-6
=============================================
paste -d -s -file1 file2
-d 指定分割域
-s 将每个文件合并成行而不是按行粘帖
paste -d: pas2 pas1
===========================================
split -outfile-size input-fileName output-fileName