Shell--cut用法


cut是以每一行為一個處理對象的,這種機制和sed一樣。

cut接受三個定位方法:

1)byte: -b

2)characters: -c

3)fields: -d

eg:提取第3,4,5,9的字節: cut -b 3-5,9

注意:cut命令如果使用-b選項,執行時會先把-b后面所有的定位進行從小到大排序,然后再提取,不能顛倒順序。

-3 表示從第一字節到第三字節;

3- 表示從第三字節到結尾。

對於中文提取,-c 會以字符為單位,輸出正常;-b以字節(8位二進制)計算。

當遇到多字節字符時,使用-n選項,不會將多字節字符拆開。cut -nb 1,2,3

 

對於非固定格式信息,需要域。之前需要先設置間隔符,再提取第幾個域。

cut -d : -f 1

-d設置間隔符為:,-f 1 為提取第一個域。

注意:如果遇到空格和制表符時,怎么辨認?

先檢查這段空格是由空格組成還是制表符組成:

cat tab_space.txt

sed -n l tab_space,txt

如果是制表位(TAB),就會顯示\t, 如果是空格,就會原樣顯示。(sed中n后面的l是小寫的L)

cut -d 用什么符號表示制表符或空格?

cut -d 默認間隔為制表符,可以省略。若設置空格為間隔符,則 cut -d ' ' -f 4

(兩個單引號中要有一個空格)

而且只能在-d 后面設置一個空格,不允許有多個空格。cut允許的間隔符是一個字符。

參考:http://blog.sina.con/cn/s/blog_5e77c61f0100hqky.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM