视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sortuniqcutwc
2024-12-27 23:52:41 责编:小OO
文档


系统大全为您提供
 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。
sort语法
[root@www ~]# sort [-fbMnrtuk] [file or stdin]
选项与参数:
-f  :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b  :忽略最前面的空格符部分;
-M  :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n  :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r  :反向排序;
-u  :就是 uniq ,相同的数据中,仅出现一行代表;
-t  :分隔符,默认是用 [tab] 键来分隔;
-k  :以那个区间 (field) 来进行排序的意思
对/etc/passwd 的账号进行排序
[root@www ~]# cat /etc/passwd | sort 
adm:x:3:4:adm:
ar/adm:/sbin
login
apache:x:48:48:Apache:
ar/www:/sbin
login
bin:x:1:1:bin:/bin:/sbin
login
daemon:x:2:2:daemon:/sbin:/sbin
login
sort 是默认以第一个数据来排序,而且默认是以字符串形式来排序,所以由字母 a 开始升序排序。
/etc/passwd 内容是以 : 来分隔的,我想以第三栏来排序:
[root@www ~]# cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:
ar/spool/uucp:/sbin
login
operator:x:11:0:operator:/root:/sbin
login
bin:x:1:1:bin:/bin:/sbin
login
games:x:12:100:games:/usr/games:/sbin
login
默认是以字符串来排序的,如果想要使用数字排序:
cat /etc/passwd | sort -t ':' -k 3n
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin
bin:x:2:2:bin:/bin:/bin
默认是升序排序,如果要倒序排序,如下
cat /etc/passwd | sort -t ':' -k 3nr
nobody:x:65534:65534:nobody:
nexistent:/bin
ntp:x:106:113::/home/ntp:/bin/false
messagebus:x:105:109::
ar/run
us:/bin/false
sshd:x:104:65534::
ar/run/sshd:/usr/sbin
login
cat /etc/passwd |  sort -t':' -k 6.2,6.4 -k 1r      
sync:x:4:65534:sync:/bin:/bin/sync
proxy:x:13:13:proxy:/bin:/bin
bin:x:2:2:bin:/bin:/bin
sys:x:3:3:sys:/dev:/bin
uniq
uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。
uniq语法
[root@www ~]# uniq [-icu]
选项与参数:
-i   :忽略大小写字符的不同;  
-c  :进行计数  
-u  :只显示唯一的行  
testfile的内容如下
cat testfile  
hello
world
friend
hello
world
hello
直接删除未经排序的文件,将会发现没有任何行被删除
uniq testfile  
hello
world
friend
hello
world
hello
排序文件,默认是去重
cat words | sort |uniq
friend
hello
world
排序之后删除了重复行,同时在行首位置输出该行重复的次数
sort testfile | uniq -c
1 friend 
3 hello
2 world
仅显示存在重复的行,并在行首显示该行重复的次数
sort testfile | uniq -dc
3 hello
2 world
仅显示不重复的行
sort testfile | uniq -u
friend
cut
cut命令可以从一个文本文件或者文本流中提取文本列。
cut语法
[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符
[root@www ~]# cut -c 字符区间            <==用于排列整齐的信息
选项与参数:
-d  :后面接分隔字符。与 -f 一起使用;  
-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;  
-c  :以字符 (characters) 的单位取出固定字符区间;  
PATH 变量如下
[root@www ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
# 1 | 2       | 3   | 4       | 5            | 6            | 7
将 PATH 变量取出,我要找出第五个路径。
echo $PATH | cut -d ':' -f 5
/usr/local/bin
将 PATH 变量取出,我要找出第三和第五个路径。
echo $PATH | cut -d ':' -f 3,5
/sbin:/usr/local/bin
将 PATH 变量取出,我要找出第三到最后一个路径。
echo $PATH | cut -d ':' -f 3-
/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
将 PATH 变量取出,我要找出第一到第三,还有第五个路径。
echo $PATH | cut -d ':' -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin
wc
统计文件里面有多少单词,多少行,多少字符。
wc语法
[root@www ~]# wc [-lwm]
选项与参数:
-l  :仅列出行;  
-w  :仅列出多少字(英文单字);  
-m  :多少字符;  
默认使用wc统计/etc/passwd
wc /etc/passwd
40   45 1719 /etc/passwd
40是行数,45是单词数,1719是字节数
wc的命令比较简单使用,每个参数使用如下:
wc -l /etc/passwd   #统计行数,在对记录数时,很常用
40 /etc/passwd       #表示系统有40个账户
wc -w /etc/passwd  #统计单词出现次数
45 /etc/passwd
wc -m /etc/passwd  #统计文件的字节数
1719
 
  以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。 
 
本文来自系统大全http:///如需转载请注明!推荐:win7纯净版

下载本文
显示全文
专题