首页 > 技术文章 > cut shell

dissipate 2020-09-22 15:41 原文

 

cut

Usage: cut OPTION [FILE]

Print selected parts of lines from each FILE to standard output

  1. -b --bytes=LIST 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  2. -n with-b: don't split multibytes characters 不分割多字节字符
  3. -c --characters=LIST 以字符为单位进行分割。select only theses characters
  4. -d --delimiter 自定义分隔符,默认空格
  5. -f --fields=LIST 打印选定字段

 

 

example:

  1. --bytes 和 --characters 如果是ASCII码字符效果完全相同,如果非ASCII字符则不同

     

     如果是中文,utf8编码,则bytes选项需要指到三个字节才能显示一个字符

     

     上图是按字节取值

     

     但是--bytes选项可以和-n选项结合使用,防止切割多字节字符

     

     可以看到如果--bytes 和 -n结合使用则跟--characters没什么区别了

  2. -d --delimiter 分隔符默认为\t

     

     

  3. --complement 取补集

     

     上图中排除第二列

  4. LIST表示法
    N-:从第N个字节、字符、字段到结尾;
    N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
    -M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

     


     

     

  5. --out-put-delimiter 指定输出分割符

推荐阅读