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