【Linux常见命令】cut命令

萝らか妹 提交于 2019-12-03 14:30:33

cut - remove sections from each line of files

参数:

  • -b 可以按字节来查看文件中的内容
    • -b参数用在中文上,容易出现乱码问题。因为中文字符一个字符占两个字节。
    •  1 [root@oldboy oldboy]# head -n 10 /etc/passwd >test.txt
       2 [root@oldboy oldboy]# cat test.txt
       3 root:x:0:0:root:/root:/bin/bash
       4 bin:x:1:1:bin:/bin:/sbin/nologin
       5 daemon:x:2:2:daemon:/sbin:/sbin/nologin
       6 adm:x:3:4:adm:/var/adm:/sbin/nologin
       7 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
       8 sync:x:5:0:sync:/sbin:/bin/sync
       9 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
      10 halt:x:7:0:halt:/sbin:/sbin/halt
      11 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
      12 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
      示例文件

       

    •  1 # 取第1列
       2 [root@oldboy oldboy]# cut -b 1 test.txt
       3 r
       4 b
       5 d
       6 a
       7 l
       8 s
       9 s
      10 h
      11 m
      12 u
      13 
      14 # 取1-3列
      15 [root@oldboy oldboy]# cut -b 1-3 test.txt
      16 roo
      17 bin
      18 dae
      19 adm
      20 lp:
      21 syn
      22 shu
      23 hal
      24 mai
      25 uuc
      26 [root@oldboy oldboy]# cut -b -3 test.txt 
      27 roo
      28 bin
      29 dae
      30 adm
      31 lp:
      32 syn
      33 shu
      34 hal
      35 mai
      36 uuc
      37 
      38 # 取1,3,5,9列,顺序打乱,但是输出结果还是顺位,从小到大显示
      39 [root@oldboy oldboy]# cut -b 9,5,3,1 test.txt
      40 ro::
      41 bnx1
      42 deo:
      43 amx4
      44 l:::
      45 sn::
      46 sud:
      47 hl::
      48 mi::
      49 uc:0
      50 
      51 # 显示从第20列到最后一列
      52 [root@oldboy oldboy]# cut -b 20- test.txt            
      53 ot:/bin/bash
      54 /sbin/nologin
      55 :/sbin:/sbin/nologin
      56 adm:/sbin/nologin
      57 ool/lpd:/sbin/nologin
      58 in:/bin/sync
      59 down:/sbin:/sbin/shutdown
      60 in:/sbin/halt
      61 ar/spool/mail:/sbin/nologin
      62 var/spool/uucp:/sbin/nologin
      cut -b 按字节数分列

       

  • -c 按字符提取,多用于中文。用在英文上跟-b 没有多少区别
  • -d 设置分隔符
  • -f 按照字段选取,设置需要看的列数
    • -d和-f参数要结合使用
    • cut默认是用tab键作为分隔符的
    •  1 # 以":"作为分隔符,选取第6个字段
       2 [root@oldboy oldboy]# cut -d : -f 6 test.txt
       3 /root
       4 /bin
       5 /sbin
       6 /var/adm
       7 /var/spool/lpd
       8 /sbin
       9 /sbin
      10 /sbin
      11 /var/spool/mail
      12 /var/spool/uucp
      View Code

       

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!