Linux cut命令:从文件每行中输出选定的字节、字符或字段
Linux cut命令 功能描述
使用cut命令可以从文件的每行中输出选定的字节、字符或字段(域)。只能使用-b、-c或-f选项中的一个。每一个列表都是专门为一个类别作出的,或者可以用逗号隔开要同时显示的不同类别。输入顺序将作为读取顺序,每个仅能输入一次。
Linux cut命令 语法
cut [选项] [ 文件 ]
命令中各选项的含义如表所示。
在使用-b、-c和-f选项时,每种参数格式表示的范围如下。
- N:从第1个开始数的第N个字节、字符或字段。
- N-:从第N个开始到所在行结束的所有字符、字节或字段。
- N-M:从第N个开始到第M个之间(包括第M个)的所有字符、字节或字段。
- -M:从第1个开始到第M个之间(包括第M个)的所有字符、字节或字段。
Linux cut命令 示例
cut输出选定字节
[root@rhel ~]# date
2013年 08月 19日 星期一 01:45:37 CST
[root@rhel ~]# date |cut -b 1-4
2013
//取前4个字节
[root@rhel ~]# date |cut -b 1-7
2013年
//取前7个字节,这里1个汉字算3个字节
[root@rhel ~]# date |cut -b 1-10
2013年 08
//取前10个字节,这里一个汉字算3个字节,一个空格算1个字节
[root@rhel ~]# date |cut -b -4
2013
//-4表示从第1个字节到第4个字节
[root@rhel ~]# date |cut -b 4-
3年 08月 19日 星期一 01:45:37 CST
//4-表示从第4个字节到行尾
[root@rhel ~]# date |cut -b -4,4-
2013年 08月 19日 星期一 01:45:37 CST
//会输出整行
cut输出选定字符
[root@rhel ~]# date |cut -c 1-5
2013年
//取前5个字符
[root@rhel ~]# date |cut -c 5,9,13
年月日
//取第5、9、13个字符
显示文件/etc/passwd中的用户登录名和用户名全称字段,这是第1个和第5个字段,由冒号隔开
[root@rhel ~]# cut -f 1,5-d: /etc/passwd
root:root
bin:bin
daemon:daemon
adm:adm
lp:lp
sync:sync
shutdown:shutdown
halt:halt
mail:mail
uucp:uucp
operator:operator
games:games
gopher:gopher
ftp:FTP User
nobody:Nobody
dbus:System message bus
usbmuxd:usbmuxd user
vcsa:virtual console memory owner
rpc:Rpcbind Daemon
rtkit:RealtimeKit
avahi-autoipd:Avahi IPv4LL Stack
abrt:
rpcuser:RPC Service User
nfsnobody:Anonymous NFS User
haldaemon:HAL daemon
gdm:
ntp:
apache:Apache
saslauth: ''Saslauthd user''
postfix:
pulse:PulseAudio System Daemon
sshd:Privilege-separated SSH
tcpdump: