cut是以每一行為一個(gè)處理對(duì)象的,這種機(jī)制和sed一樣。
cut接受三個(gè)定位方法:
1)byte: -b
2)characters: -c
3)fields: -d
eg:提取第3,4,5,9的字節(jié): cut -b 3-5,9
注意:cut命令如果使用-b選項(xiàng),執(zhí)行時(shí)會(huì)先把-b后面所有的定位進(jìn)行從小到大排序,然后再提取,不能顛倒順序。
-3 表示從第一字節(jié)到第三字節(jié);
3- 表示從第三字節(jié)到結(jié)尾。
對(duì)于中文提取,-c 會(huì)以字符為單位,輸出正常;-b以字節(jié)(8位二進(jìn)制)計(jì)算。
當(dāng)遇到多字節(jié)字符時(shí),使用-n選項(xiàng),不會(huì)將多字節(jié)字符拆開(kāi)。cut -nb 1,2,3
對(duì)于非固定格式信息,需要域。之前需要先設(shè)置間隔符,再提取第幾個(gè)域。
cut -d : -f 1
-d設(shè)置間隔符為:,-f 1 為提取第一個(gè)域。
注意:如果遇到空格和制表符時(shí),怎么辨認(rèn)?
先檢查這段空格是由空格組成還是制表符組成:
cat tab_space.txt
sed -n l tab_space,txt
如果是制表位(TAB),就會(huì)顯示\t, 如果是空格,就會(huì)原樣顯示。(sed中n后面的l是小寫(xiě)的L)
cut -d 用什么符號(hào)表示制表符或空格?
cut -d 默認(rèn)間隔為制表符,可以省略。若設(shè)置空格為間隔符,則 cut -d ' ' -f 4
(兩個(gè)單引號(hào)中要有一個(gè)空格)
而且只能在-d 后面設(shè)置一個(gè)空格,不允許有多個(gè)空格。cut允許的間隔符是一個(gè)字符。
總結(jié)
以上所述是小編給大家介紹的Shell cut用法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- ShellExecute函數(shù)用法的實(shí)例代碼
- shell字符截取命令之cut命令的實(shí)例詳解
- 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-cut命令詳解
- Stream、WshShell、WshUrlShortcut對(duì)象及Shell.Application的參數(shù)與使用