cut
Usage: cut OPTION [FILE]
Print selected parts of lines from each FILE to standard output
- -b --bytes=LIST 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
- -n with-b: don't split multibytes characters 不分割多字节字符
- -c --characters=LIST 以字符为单位进行分割。select only theses characters
- -d --delimiter 自定义分隔符,默认空格
- -f --fields=LIST 打印选定字段
example:
- --bytes 和 --characters 如果是ASCII码字符效果完全相同,如果非ASCII字符则不同
如果是中文,utf8编码,则bytes选项需要指到三个字节才能显示一个字符
上图是按字节取值
但是--bytes选项可以和-n选项结合使用,防止切割多字节字符
可以看到如果--bytes 和 -n结合使用则跟--characters没什么区别了
- -d --delimiter 分隔符默认为\t
- --complement 取补集
上图中排除第二列
- LIST表示法
N-:从第N个字节、字符、字段到结尾; N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段; -M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
- --out-put-delimiter 指定输出分割符