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命令时,会输出类似如下的内容:
who
root tty1 2020-07-22 12:50
root pts/2 2020-07-24 17:35 (:0.0)
root pts/1 2020-07-24 17:22 (:0.0)
如果我们想提取每一行的第4个字节,就这样:
who|cut -b 4
t
t
t
截取 1-12位字符, 并转为大写
cat /etc/machine-id | cut -c1-12 | tr 'a-z' 'A-Z'
其他
cat /proc/self/cgroup | grep devices | cut -d/ -f3 | cut -c1-12