shell

cut 使用举例

说明:此命令是对输入的每行字符串进行按照指定字符或者指定字节或者指定字段进行截取,并输出到标准输出。

参数如下:

  -b:以字节单位分割,这个参数不适用于中文,因为一个英文占用1个字节,而在不同编码的系统里,中文占用的长度是不一样的,比如utf-8系统里,utf-8是可变长的,每个中文至少占用3个字节,这里据说也有的中文至少占用4个字节,所以此参数不适用中文。

  -c:以字符为单位进行分割。这个参数适用中英文的字符串切割。

  -d:自定义分隔符,默认为制表符

  -f:与-d一起使用,指定显示哪个区域。

  -n:仅和-b一起使用,所以过。

举例说明

前提,以testfile为例

》》:cat testfile
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

以冒号分隔,显示第5区域

命令:cat testfile | cut -d : -f 5

输出:Avahi IPv4LL Stack

以冒号分隔,显示第3区域和第5区域

命令:cat testfile | cut -d : -f 3,5

输出:170:Avahi IPv4LL Stack

以冒号分隔,显示第3列起到最后列

命令:cat testfile | cut -d : -f 3-

输出:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

以冒号分隔,显示第1列到第3列的路径

命令:cat testfile | cut -d : -f 1-3

输出:avahi-autoipd:x:170

 

根据字符提取,提取第1到10之间的字符

命令:cat testfile | cut -c 1-10 

输出:avahi-auto

原文地址:https://www.cnblogs.com/zy6103/p/10481311.html