cut 命令那个用来显示行中指定部分
语法:
举例:
-b -c 截取指定字节,字符的列,如果是单字节没区别,如果是多字节,比如有汉字那就不一样了
-n用来告诉如果遇到多字节字符时候不拆分
-d域分隔符,-f域字段
--complement 选项是提取指定字段之外的咧
另外: -b, -c or -f都可以使用range来限定指定的咧
语法:
Usage: cut OPTION... [FILE]...
Print selected parts of lines from each FILE to standard output.
Mandatory arguments to long options are mandatory for short options too.
-b, --bytes=LIST select only these bytes
-c, --characters=LIST select only these characters
-d, --delimiter=DELIM use DELIM instead of TAB for field delimiter
-f, --fields=LIST select only these fields; also print any line
that contains no delimiter character, unless
the -s option is specified
-n with -b: don't split multibyte characters
--complement complement the set of selected bytes, characters
or fields
-s, --only-delimited do not print lines not containing delimiters
--output-delimiter=STRING use STRING as the output delimiter
the default is to use the input delimiter
--help display this help and exit
--version output version information and exit
Use one, and only one of -b, -c or -f. Each LIST is made up of one
range, or many ranges separated by commas. Selected input is written
in the same order that it is read, and is written exactly once.
Each range is one of:
N N'th byte, character or field, counted from 1
N- from N'th byte, character or field, to end of line
N-M from N'th to M'th (included) byte, character or field
-M from first to M'th (included) byte, character or field
With no FILE, or when FILE is -, read standard input.
举例:
-b -c 截取指定字节,字符的列,如果是单字节没区别,如果是多字节,比如有汉字那就不一样了
[root@centos7 ~]# cut -b 1-3 1.txt
123
123
[root@centos7 ~]# cut -c 1-3 1.txt
123
123
[root@centos7 ~]# cat 1.txt
123456
123456
-n用来告诉如果遇到多字节字符时候不拆分
[root@centos7 ~]# cut -c 1-3 1.txt
123
123
中文
[root@centos7 ~]# cut -b 1-3 1.txt
123
123
中
[root@centos7 ~]# cat 1.txt
123456
123456
中文
[root@centos7 ~]# cut -c 2 1.txt
2
2
文
[root@centos7 ~]# cut -b 2 1.txt
2
2
root@centos7 ~]# cut -nb 2 1.txt
2
2
文
-d域分隔符,-f域字段
[root@centos7 ~]# cat 1.txt
123456;union
123456;china
中文;英文
[root@centos7 ~]# cut -f1 -d";" 1.txt
123456
123456
中文
[root@centos7 ~]# cut -f2 -d";" 1.txt
union
china
英文
--complement 选项是提取指定字段之外的咧
[root@centos7 ~]# cut -f2 -d";" --complement 1.txt
123456
123456
中文
另外: -b, -c or -f都可以使用range来限定指定的咧
[root@centos7 ~]# cut -f1-2 1.txt
123456;union
123456;china
中文;英文
[root@centos7 ~]# cut -f1- 1.txt
123456;union
123456;china
中文;英文
[root@centos7 ~]# cut -f- 1.txt
cut: invalid range with no endpoint: -
Try 'cut --help' for more information.
[root@centos7 ~]# cut -f-2 1.txt
123456;union
123456;china
中文;英文