Linux cut命令

来源:互联网 发布:dota2饰品估价软件 编辑:程序博客网 时间:2024/06/07 14:54

一个非常有用的命令,主要用来提取各种各样的数据。

cut -cchars file

如:

-c5     提取第5个字符

-c5-    提取第5个字符以后的字符

-c1,5,12        提取多个字符,中间用“,”符号隔开

-c5-14         提取第5个字符到第14个字符间的字符

--------------------------------------------------------------------------------------------------------------------

[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: -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键。

0 0
原创粉丝点击