概述
cut命令以行为单位打印每行中选择的信息。
格式
cut options ... [FILES]
参数
-b:指定字节个数,后加范围
-c:指定字符个数,后加范围
-d:指定一个分隔符,默认使用TAB键,和-f搭配使用,后加范围
-f:用于指定第几列的意思,或理解为一个字段,后加范围
-s:不打印没有包含分隔符的行
--help:查看帮助信息
FILES:指定的文件,如果不指定,则默认从标准输入流中读取。
范围设置:
N:从1开始计数,第N个字节(-b)、字符(-c)、或字段(-f)
N-:从1开始计数,第N个字节、字符、或字段开始只到行结束.
N-M:[N,M]区间的字节、字符或字段;
-M:从第一个字节、字符、或字段开始,到第M个,即[1,M]区间的字节、字符、或字段。
示例
使用cut
命令操作/etc/passwd
文件:
- 1.每行以
:
分割,并读取第一个字段,对于没有分割符的行不进行显示:
@ubuntu:~$ cut -d ":" -f1 -s /etc/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
......
- 2.打印出每行的第一个字符:
@ubuntu:~$ cut -b 1 /etc/passwd
r
d
b
s
s
g
- 3.打印出每行使用
:
分割后第三列后的所有内容:
@ubuntu:~$ cut -d ":" -f3- /etc/passwd
0:0:root:/root:/bin/bash
1:1:daemon:/usr/sbin:/usr/sbin/nologin
2:2:bin:/bin:/usr/sbin/nologin
3:3:sys:/dev:/usr/sbin/nologin
4:65534:sync:/bin:/bin/sync
5:60:games:/usr/games:/usr/sbin/nologin
6:12:man:/var/cache/man:/usr/sbin/nologin
7:7:lp:/var/spool/lpd:/usr/sbin/nologin
8:8:mail:/var/mail:/usr/sbin/nologin
9:9:news:/var/spool/news:/usr/sbin/nologin
10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
13:13:proxy:/bin:/usr/sbin/nologin
......