cut 命令从文件的每一行剪切内容并将其写至标准输出。
参数:
-b :以字节(bytes)为单位进行分割。
-c :以字符(characters)为单位进行分割。
-d :自定义分隔符(delimiter),默认为制表符。
-f :与-d一起使用,按d指定的分隔符分割后,指定显示哪个区域(fields)。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。–complement :补充选定的内容,即反选。
参数说明: 必须指定分割单位,即参数b、c、f 必须三选一
举个例子 :
]# cat No Name Mark Percent 01 tom 69 91 02 jack 71 87 03 alex 68 98
使用 -f 选项提取指定字段:
]# cut -f2,3 Name Mark tom 69 jack 71 alex 68
--complement 选项提取指定字段之外的列(打印除了第二列之外的列):
]# cut -f2 --complement No Mark Percent 01 69 91 02 71 87 03 68 98
使用 -d 选项指定字段分隔符:
]# cat No;Name;Mark;Percent 01;tom;69;91 02;jack;71;87 03;alex;68;98
]# cut -f2 -d";" Name tom jack alex
指定字段的字符或者字节范围:
N-:从第N个字节、字符、字段到结尾;
N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
]# cat abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
打印前2个字符:
]# cut -c-2 ab ab ab ab ab
打印从第5个字符开始到结尾:
]# cut -c5- efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz
参数-b和-c的区别:
]$ cat
星期一
星期二
星期三
星期四
]$ cut -b 3
�
�
�
�
]$ cut -c 3
一
二
三
四
注意:cut只允许间隔符是一个字符