Linux的sort、uniq、wc命令

转自:http://10495845.blog.51cto.com/10485845/1671771

一.文本排序sort
1.sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按”ASCII字符顺序”进行排序。例:
1.  [[email protected] sort]# cat sort_default     ##示例文件
23
123
345
111
44
333
678
[[email protected] sort]# sort sort_default
111
123
23
333
345
44
678
Sort默认排序并非按数值大小,而是按ASCII字符顺序依次排序,若第一个字符相同,则比较第二个字符,直到出现不相同字符,用升序进行排列。
2.若按数值大小进行排序,则需要用到sort的参数:
-n:--numeric-sort数值顺序
[[email protected] sort]# sort -n sort_default     //若需逆序排序,加-r(reverse)参数
23
44
111
123
333
345
678
3.对某个文件的某个特定字段进行排序,以/etc/passwd文件为例,以第三个字段为关键字段,对数值进行升序排序:
  -k: --key=POS1指定以哪个字段为关键字进行排序
  -t: --field-separator=SEP指定分隔符
[[email protected] sort]# sort -t: -k3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
二.Uniq
1.uniq默认重复的行只显示一次(重复行指的是相同且相邻):
[[email protected] sort]# cat sort_default     ##实例文件
23
123
345
111
44   相同且相邻
44
333
678
44    与上相同但不相邻
[[email protected] sort]# uniq sort_default
23
123
345
111
44
333
678
44
2. 显示重复行行数 -c:count

只显示非重复行  -u:unique
       
3. 只显示重复行 -d:repeated
[[email protected] sort]# uniq -d sort_default
44
4. 只显示重复行,并且记录重复的行数 -c  -d
[[email protected] sort]# uniq -c -d sort_default
      2 44
三.文本统计wc
man下wc命令即可查到它的很多用法,一般常用的有一下几个参数:
l -c, --bytes:print the byte counts统计字节数
l -m, --chars:print the character counts统计字符数
l -w, --words:print the word counts统计字数
l  -l, --lines:print the newline counts统计行数
l -L, --max-line-length:print the length of the longest line统计最长行的长度
以test文本文件为例:
[[email protected] sort]# cat test
hello world
welcome to China
23
123
345
111
linux is important
44
44
333
[[email protected] sort]# wc -c test
74 test
[[email protected] sort]# wc -m test
74 test
[[email protected] sort]# wc -w test
15 test
[[email protected] sort]# wc -l test
11 test
[[email protected] sort]# wc -L test
18 test

时间: 2025-01-12 10:09:09

Linux的sort、uniq、wc命令的相关文章

linux下 sort | uniq | wc | less 几个命令的基本用法

sort -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法: -n :使用『纯数字』进行排序(默认是以文字型态来排序的): -r :反向排序: -u :就是 uniq ,相同的数据中,仅出现一行代表: -t :分隔符,默认是用 [tab] 键来分隔: -k :以那个区间 (field) 来进行排序的意思 uniq -i :忽略大小写字符的不同: -c :进行计数 -u :只显示唯一的行

sort 和wc命令

sort和wc 命令:用做排序 语法: sort [-t 分隔符] [-kn1,n2] [-nru] 这里的n1 < n2 -t 分隔符 :作用跟cut的-d一个意思 -n :使用纯数字排序 -r :反向排序 -u :去重复 -kn1,n2 :由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序 [[email protected] ~]# head -n5 /etc/passwd |sort adm:x:3:4:adm:/var/adm:/sbin/nologin bin:x:1:1:

linux cat,tac,more,less,head,tail,cut,sort,uniq,wc,tr命令的使用

cat:连接并显示,比如: [[email protected] ~]# cat /tmp/sort.test  111 324 567 324 890 890 567 abc 加上选项-n会显示行号: [[email protected] ~]# cat -n /tmp/sort.test      1111      2324      3567      4324      5890      6890      7567      8abc 加上-E选项会显示行尾符$:(linux中行尾

Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail 等都是可以接受 standard input 的管线命令啦.至于例如 ls, cp, mv 等就不是管线命令了!因为 ls, cp, mv 并不会接受来自 stdin 的数据. 也就是说,管线命令主要有两个比较需要注意的地方: 管线命令仅会处理 standard output,对于 standar

Linux Shell编程 sort、wc命令

sort命令:字符串排序 sort 命令可以依据不同的数据类型来进行排序.sort 将文件的每一行作为一个单位,相互比较.比较原则是从首字符向后,依次按 ASCII 码值进行比较,最后将它们按升序输出. sort 命令格式如下: [[email protected] ~]# sort [选项] 文件名 选项: -f:忽略大小写: -b:忽略每行前面的空白部分: -n:以数值型进行排序,默认使用字符串排序: -r:反向排序: -u:删除重复行.就是 uniq 命令: -t:指定分隔符,默认分隔符是

05,文本处理cat more less head tail sort uniq wc tr grep cut jion sed awk ok

文本处理cat more less head tail sort uniq grep cut jion sed awk ################################################ cat:concatenate files and print on the standard output 显示文件内容到标准输出(显示器) -e:显示最后一个结尾的字符 -n:显示行编号 [[email protected] ~]# cat -n /etc/shells 1  

sort,uniq,wc指令简单用法

sort用于排序,可以根据不同的数据类型来进行排序,例如想要查看最后一个登陆的用户信息,可以把last和sort结合起来使用,按照登陆时间排序. 使用sort排序: sort常用参数: -f :忽略大小写的差异 -b:忽略最前面的空格符部分 -M:以月份的名字排序 -n:使用纯数字排序(默认为以文字类型排序) -r:反向排序 -u:去除重复行,重复的数据只显示一次 -t:分隔符,默认为tab为分隔符 -k:以哪个区间来排序 [[email protected] test]$ last | sor

linux常用命令-文本处理cut,sort,uniq,wc,tr

cut:截取文本特定字段 NAME       cut - remove sections from each line of files -d, --delimiter=DELIM(指定字段分隔符,默认是空格) use DELIM instead of TAB for field delimiter -f, --fields=LIST(指定要显示的字段) select  only  these  fields;  also print any line that contains no del

0219自学Linux_bash特性+命令学习(cut,sort,uniq,wc,tr,histroy,alias)+通配符glob

09 GPL,BSD,Apache三个开源协定的大体联系及其区别 1.自由软件,版权描述:但是照样是有版权的 2.开源协定,版权描述 www.kernel.org内核版本的版本号查看网址,也是官网 查看最新kernel的最新版本,www.kernel.org习惯了解 列出linux发行版和linux内核的关系 Lniux发行版,GUN:GUN/Linux. 源代码:必须要编译才可以运行,所以发行版是已经将源代码已经编译完成的东西,组合在一起,就形成了发行版,主流的三大发行版:Fedora:它为r

linux学习记录——sort,uniq,wc,tr

文本排序:sort xx 升序 -n 升序 按数值大小 -r 降序 -t 指定字段分隔符 -k 指定以哪个字段为关键字排序   sort -t:  -k3 /etc/passwd -u 排序后相同的行只显示一次 -f 忽略大小 uniq 判断是否重复的行.(相邻并且完全相同的行才能算重复的行) 因此可以先用sort排序再uniq -d 只显示重复的行. -D 显示所有重复的行. -c 显示每一行重复的次数 (类似于sql的group by + count ) wc 文本统计 word count