Linux cut 命令用于显示每行从开头算起 num1 到 num2 的文字。

语法

cut [-bn] [file]
cut [-c] [file]
cut [-df] [file]
使用说明:
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b -c -f 标志其中之一。

参数

-b 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c 以字符为单位进行分割。
-d 自定义分隔符,默认为制表符。
-f 与-d一起使用,指定显示哪个区域。
-n 取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除

实例

当你执行who命令时,会输出类似如下的内容:

  1. who
  1. root tty1 2020-07-22 12:50
  2. root pts/2 2020-07-24 17:35 (:0.0)
  3. root pts/1 2020-07-24 17:22 (:0.0)

如果我们想提取每一行的第4个字节,就这样:

  1. who|cut -b 4
  1. t
  2. t
  3. t

截取 1-12位字符, 并转为大写

  1. cat /etc/machine-id | cut -c1-12 | tr 'a-z' 'A-Z'

其他

  1. cat /proc/self/cgroup | grep devices | cut -d/ -f3 | cut -c1-12

https://www.jianshu.com/p/292e948d10c2