cut命令

cut命令ide

做用

cut命令主要用於裁剪文本每行中的數據spa

主要參數:

-b :以字節爲單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指定了 -n 標誌。it

-c :以字符爲單位進行分割。class

-d :自定義分隔符,默認爲製表符。test

-f :與-d一塊兒使用,指定顯示哪一個區域。亂碼

-n :取消分割多字節字符。僅和 -b 標誌一塊兒使用。若是字符的最後一個字節落在由 -b 標誌的 List 參數指示的範圍以內,該字符將被寫出;不然,該字符將被排除。sed

 -s表示不包括那些不含分隔符的行,只切割和顯示匹配的字符 List

 

-c和-f參數能夠跟如下子參數:
m
第m個字符或字段
m-
從第m個字符或字段到文件結束
m-n
從第m個到第n個字符或字段
-n
從第1個到第n個字符或字段方法

事例

 

三種定位方法:

以字節定位-b

[jeck@localhost~]$ cat testim

aa aa

bb aa

cc aa

dd AA

[jeck@localhost~]$ cut -b 1 test

a

b

c

d

以字符定位-c

[jeck@localhost~]$ cat test

星期一

星期二

星期三

星期四

[jeck@localhost~]$ cut -b 3 test

?

?

?

?

[jeck@localhost~]$ cut -c 3 test

-c處理的是一個字符,而-b處理的是一個字節。因此。當出現漢字時,使用-b就會亂碼,能夠加-n,使不拆分字節

以域定位 -f -d

 

[jeck@localhost~]$ cat test

a:b:c

1:2:3

aa:11:bb

dd:nn:mm

[jeck@localhost~]$ cut -d : -f 2 test

b

2

11

nn

[root@localhosttmp]# cut -d : -f1,2 test 

a:b

1:2

aa:11

dd:nn

 

[root@localhosttmp]# cut -d : -f1-3 test  

a:b:c

1:2:3

aa:11:bb

dd:nn:mm

-s 用法

[root@localhosttmp]# cat test

a:b:c

1:2:3

aa:11:bb

dd:nn:mm

vv-aa-22

dd-44-55

[root@localhosttmp]# cut -d : -f1 test      下面兩行不匹配,會所有打印

a

1

aa

dd

vv-aa-22

dd-44-55

[root@localhosttmp]# cut -d : -f1  -s test  加-s以後,只切割匹配的

a

1

aa

dd

--output-delimiter指定打印的分隔符

[root@localhosttmp]# cut -d : -f1,3  -s--output-delimiter="****" test  

a****c

1****3

aa****bb

dd****mm

區分空格和製表符

使用sort -n l 便可

 

[jeck@localhost~]$ cat test1

aa bb

11      22

 

[jeck@localhost~]$ sed  -n l test1

aa bb$

11\t22$

若是是製表符(TAB,那麼會顯示爲\t符號,若是是空格,就會原樣顯示

相關文章
相關標籤/搜索