grep
是个很棒的指令喔!他支持的语法实在是太多了~用在正规表示法里头,
能够处理的数据实在
是多的很~不过,我们这里先不谈正规表示法~下一章再来说明~
您先了½一下,
grep
可以½析
一行文字,取得关键词,若该行有存在关键词,就会整行列出来!另外,
CentOS 7
当中,预设的
grep
已经主动加上
--color=auto
在
alias
内了喔!
10.6.2
排序命令:
sort, wc, uniq
很多时候,我们都会去计算一次数据里头的相同型态的数据总数,举例来说,
使用
last
可以查得系
统上面有登入主机者的身份。那么我可以针对每个使用者查出他们的总登入次数吗?
此时就得要排
序与计算之类的指令来辅助了!底下我们½绍几个好用的排序与统计指令喔!
.
sort
sort
是很有趣的指令,他可以帮我们½行排序,而且可以依据不同的数据型态来排序喔!
例如数字
与文字的排序就不一样。此外,排序的字符与语系的编码有关,因此,
如果您需要排序时,½议使
用
LANG=C
来让语系统一,数据排序比½好一些。
[dmtsai@study ~]$
sort [
-
fbMnrtuk] [file or stdin]
选项
与
参数
:
-
f
:忽略大小
写
的差异,例如
A
与
a
视为编码
相同;
-
b
:忽略最前面的空格符部分;
-
M
:以月份的名字
来
排序,例如
JAN, DEC
等等的排序方法;
-
n
:使用『
纯数
字』
½
行排序
(
默
认
是以文字型
态来
排序的
)
;
-
r
:反向排序;
-
u
:就是
uniq
,相同的
数
据中,
½
出
现
一行代表;
-
t
:分隔符,
预设
是用
[tab]
键来
分隔;
-
k
:以那
个区间
(field)
来½
行排序的意思
范例一:
个
人
账号
都
记录
在
/etc/passwd
下,
请½账号½
行排序。
[dmtsai@study ~]$
cat /etc/passwd |
sort
ab
rt:x:173:173::/etc/abrt:/sbin/nologin
ad
m:x:3:4:adm:/var/adm:/sbin/nologin
al
ex:x:1001:1002::/home/alex:/bin/bash
#
鸟
哥省略很多的
输
出~由上面的
数
据看起
来
,
sort
是
预设
『以第一
个
』
数
据
来
排序,
#
而且默
认
是以『文字』型
态来
排序的喔!所以由
a
开
始排到最后
啰
!
范例二:
/etc/passwd
内
容是以
:
来
分隔的,我想以第三
栏来
排序,
该
如何?
[dmtsai@study ~]$
cat /etc/passwd | sort
-
t ':'
-
k 3
root:x:
0
:0:root:/root:/bin/bash
dmtsai:x:
1000
:1000:dmtsai:/home/dmtsai:/bin/bash
alex:x:
1001
:1002::/home/alex:/bin/bash
arod:x:
1002
:1003::/home/arod:/bin/bash
#
看到特殊字体的
输
出部分了吧?怎么
会这样
排列啊?呵呵!
没错
啦~
#
如果是以文字型
态来
排序的
话
,原本就
会
是
这样
,想要使用
数
字排序: