cut
不就是『切』吗?没错啦!这个指令可以½一段讯息的某一段给他『切』出来~
处理的讯息是
以『行』为单位喔!底下我们就来谈一谈:
[dmtsai@study ~]$
cut
-
d'
分隔字符
'
-
f fields
<==
用于有特定分隔字符
[dmtsai@study ~]$
cut
-
c
字符
区间
<==
用于排列整
齐
的
讯
息
选项
与
参数
:
-
d
:后面½分隔字符。与
-
f
一起使用;
-
f
:依据
-
d
的分隔字符
½
一段
讯
息
分区
成
为数
段,用
-
f
取出第几段的意思;
-
c
:以字符
(characters)
的
单
位取出固定字符
区间
;
范例一:
½
PATH
变
量取出,我要找出第五
个
路
径
。
[dmtsai@study ~]$
echo ${PATH}
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/bin
# 1 | 2 | 3 | 4 | 5 | 6 |
[dmtsai@study ~]$
echo ${PATH} | cut
-
d ':'
-
f 5
#
如同上面的
数
字
显
示,我
们
是以『
:
』作
为
分隔,因此
会
出
现
/home/dmtsai/.local/bin
#
那么如果想要列出第
3
与第
5
呢?,就是
这样
:
[dmtsai@study ~]$
echo ${PATH} | cut
-
d ':'
-
f 3,5
范例二:
½
export
输
出的
讯
息,取得第
12
字符以后的所有字符串
[dmtsai@study ~]$
export
declare
-
x HISTCONTROL="ignoredups"
declare
-
x HISTSIZE="1000"
declare
-
x
HOME="/home/dmtsai"
declare
-
x HOSTNAME="study.centos.vbird"
.....(
其他省略
).....
#
注意看,每
个数
据都是排列整
齐
的
输
出!如果我
们
不想要『
declare
-
x
』
时
,就得
这
么做:
[dmtsai@study ~]$
export | cut
-
c 12
-
HISTCONTROL="ignoredups"
HISTSIZE="1000"
HOME="/home/dmtsai"
HOSTNAME="study.centos.vbird"
.....(
其他省略
).....
#
知道怎么回事了吧?用
-
c
可以
处
理比
½
具有格式的
输
出
数
据!
#
我
们还
可以指定某
个
范
围
的值,例如第
12
-
20
的字符,就是
cut
-
c 12
-
20
等等!
范例三:用
last
½显
示的登入者的信息中,
½
留下用
户
大名
[dmtsai@study ~]$
last
root pts/1 192.168.201.101 Sat Feb 7 12:35 still logged in
root pts/1 192.168.201.101 Fri Feb 6 12:13
-
18:46 (06:33)
root pts/1 192.168.201.254 Thu Feb 5 22:37
-
23:53 (01:16)
# last
可以
输
出『
账号
/
终
端机
/
来
源
/
日期
时间
』的
数
据,并且是排列整
齐
的