cut 命令用来显示文件的部分内容,用户可以灵活指定查看的内容范围。
cut [参数] [目标文件] [>|>>新的文件名]
-b<n1-n2> 或者 -byte=<n1-n2> 选择每行中第 n1 ~ n2 个字节的内容
-c<n1-n2> 或者 -characters=<n1-n2> 选择每行中第 n1 ~ n2 个字符的内容
-f<n1-n2> 或者 -field=<n1-n2> 选择每行中第 n1 ~ n2 字段的内容,每个字段默认以 TAB 符号分割
-a 和 -b 一起使用,不分割多字节的字符,例如:汉字
-d<字段分隔符> 或 --delimiter=<字段分隔符> 如果以段为单位提取每行内容时,系统缺省以Tab符号作为分隔符,用户使用该参数可以自定义分割符号。比如系统文件的 /etc/passwd 中的每个字段都以“:”字符分割
假如我们在当前目录下面存在一个 demo.txt 文本文件,该文件拥有如下内容:
[hxstrive@localhost ~]$ cat demo.txt id,name,age 100,zhangsan,20 200,lisi,22 300,zhaoliu,31 400,wanger,28
该文件将在后续的示例中使用。
(1)使用 cut 命令查看 demo.txt 文件每行开始的3个字节,如下:
[hxstrive@localhost ~]$ cut -b1-3 demo.txt id, 100 200 300 400
(2)使用 cut 命令查看 demo.txt 文件每行开始的3个字符,如下:
[hxstrive@localhost ~]$ cut -c1-3 demo.txt id, 100 200 300 400
(3)使用 cut 命令的 -d 参数自定义字段分隔符为“,”,然后返回每行前2个字段的值,如下:
[hxstrive@localhost ~]$ cut -d ',' -f1-2 demo.txt id,name 100,zhangsan 200,lisi 300,zhaoliu 400,wanger
如果我们在 -f 参数后面只指定一个数字,则返回该数字对应的字段,如下:
[hxstrive@localhost ~]$ cut -d ',' -f2 demo.txt name zhangsan lisi zhaoliu wanger
如果指定格式为 -f-n,则返回1~n字段的值,如下:
[hxstrive@localhost ~]$ cut -d ',' -f-2 demo.txt id,name 100,zhangsan 200,lisi 300,zhaoliu 400,wanger
如果指定格式为-fn-,则返回n~末尾字段的值,如下:
[hxstrive@localhost ~]$ cut -d ',' -f2- demo.txt name,age zhangsan,20 lisi,22 zhaoliu,31 wanger,28
更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息