2020年8月18日星期二

Shell Command:cut. For cut substring from origin string

 $ cut --help

Usage: cut OPTION... [FILE]...

Print selected parts of lines from each FILE to standard output.

With no FILE, or when FILE is -, read standard input.

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                      (ignored)

      --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

  -z, --zero-terminated    line delimiter is NUL, not newline

      --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

=========================================
Examples of Use:
$cat data
123456789
$cat data | cut -b 1-4  #cut out from byte 1 to 4. like mid(s, 1,4) 
1234
$cat data | cut -b 1,3,5  #cut out byte 1 and 3 and 5
135
$cat data | cut -b 6-  #cut out from byte 6 to end. like substr(s, 6) 
6789
$cat data | cut -b -3  #cut out from start to byte 3. like left(s, 3) 
123

$ cat data
001,user01,yamada,401,a001,Type-A
002,user02,tanaka,011,b001,Type-T
003,user03,kaneko,201,a001,Type-G
004,user04,suzuki,042,b001,Type-T
005,user05,yamashuta,201,b001,Type-A
$ cat data | cut -d , -f2,4-5   #-d:delimiter ','. -f: cut out object columns. col2 and col4 to col5
user01,401,a001
user02,011,b001
user03,201,a001
user04,042,b001
user05,201,b001

没有评论: