linux cut 命令(转)

    一个非常有用的命令,主要用来提取各种各样的数据。
cut -cchars file
如:
    -c5     提取第5个字符
        -c5-    提取第5个字符以后的字符
        -c1,5,12  提取多个字符,中间用“,”符号隔开
        -c5-14  提取第5个字符到第14个字符间的字符
http://gan.cublog.cn
[service@dsg tmp]$ cat f.txt
service  pts/0        Oct  9 20:27 (211.95.114.235)
service  pts/1        Oct  9 21:06 (218.80.203.242)
service  pts/2        Oct  9 14:35 (218.80.203.242)
service  pts/3        Oct  9 21:07 (218.80.213.242)
service  pts/4        Oct  9 21:07 (218.80.213.242)
service  pts/5        Oct  9 21:45 (58.31.205.19)
[service@dsg tmp]$ cut -c5 f.txt
i
i
i
i
i
i
[service@dsg tmp]$ cut -c5- f.txt   
ice  pts/0        Oct  9 20:27 (211.95.114.235)
ice  pts/1        Oct  9 21:06 (218.80.203.242)
ice  pts/2        Oct  9 14:35 (218.80.203.242)
ice  pts/3        Oct  9 21:07 (218.80.213.242)
ice  pts/4        Oct  9 21:07 (218.80.213.242)
ice  pts/5        Oct  9 21:45 (58.31.205.19)
[service@dsg tmp]$ cut -c1,5,14 f.txt
si0
si1
si2
si3
si4
si5
------------------------------
cut -d -f
-d, --delimiter=DELIM
              use DELIM instead of TAB for field delimiter
-f, --fields=LIST
              output only these fields;  also print any line that contains  no
              delimiter character, unless the -s option is specified
-d -f 主要用来从某中分隔符中提取数据
如:
[service@dsg tmp]$ cat f.txt
service1:pts/0:Oct  9 20:27: (211.95.114.235)
service2:pts/1:Oct  9 21:06: (218.80.203.242)
service3:pts/2:Oct  9 14:35: (218.80.203.242)
service4:pts/3:Oct  9 21:07: (218.80.213.242)
service5:pts/4:Oct  9 21:07: (218.80.213.242)
service6:pts/5:Oct  9 21:45: (58.31.205.19)
[service@dsg tmp]$ cut -d: -f1 f.txt
service1
service2
service3
service4
service5
service6
[service@dsg tmp]$ cut -d: -f2 f.txt
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
[service@dsg tmp]$ cut -d: -f3 f.txt
Oct  9 20
Oct  9 21
Oct  9 14
Oct  9 21
Oct  9 21
Oct  9 21
[service@dsg tmp]$ cut -d: -f5 f.txt
(211.95.114.235)
(218.80.203.242)
(218.80.203.242)
(218.80.213.242)
(218.80.213.242)
(58.31.205.19)
[service@dsg tmp]$ cut -d: -f9 f.txt
[service@dsg tmp]$ cut -d: -f1,4 f.txt  #提取1和4列数据
service1:27
service2:06
service3:35
service4:07
service5:07
service6:45
Given that the fields are separated by tabs, you should use the -f option to cut instead:
如果文件使用tab键隔开就直接使用-f就可以了,-d的默认分隔符号就为tab键。
原文地址:https://www.cnblogs.com/zhihaowang/p/10128662.html