cut
cut
cut [-bn] [file]
cut [-c] [file]
cut [-df] [file]
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