cut
警告
本文最后更新于 2023-10-22,文中内容可能已过时。
cut
|
|
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。
必须指定 -b(按字节分割)、-c(按字符分割)或 -f(按字段分割)其中一个参数。每种情况(字节、字符、字段)都需要指定一个 LIST 参数来指定范围,LIST 由一个范围 (range) 或 , 隔开的多个范围组成。范围是下列形式之一:
-
N:第 N 个字节、字符或字段,从 1 计数 起
-
N- :从第 N 个 字节、字符或字段,直至行尾
-
N-M:从第 N 到 第 M (并包括第 M) 个字节、字符或字段
-
-M:从第 1 到 第 M (并包括 第 M) 个字节、字符或字段
三种情况:
-
-b
:以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了-n
标志。 -
-n
:取消分割多字节字符。仅和-b
标志一起使用。如果字符的最后一个字节落在由-b
标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。这个用的不多 -
-c
:以字符为单位进行分割。cat ../etc/passwd | cut -c -10
:截取每一行的前 10 个字符: -
-d
:自定义分隔符,默认为制表符[Tab]。 -
-f
:与-d
一起使用,指定显示哪个区域。cat ../etc/passwd | cut -d ':' -f 1-4
:截取以:
为分隔符的第 1 个字段到第 4 个字段cat ../etc/passwd | cut -d ':' -f 1,3
:截取以:
为分隔符的第 1 个字段和第 3 个字段cut -d ':' -f 1,3 /etc/passwd
:当然,可以不使用管道,直接 cut