一、定義
正如其名,cut的工作就是「剪」,具體的說就是在檔案中負責剪下資料用的。cut是以每一行為乙個處理物件的,這種機制和sed是一樣的。
2、剪下依據
cut命令主要是接受三個定位方法:
第一,位元組(bytes),用選項-b
第二,字元(characters),用選項-c
第三,域(fields),用選項-f
例:一,按位元組cut:
注意:乙個空格算乙個位元組,乙個漢字算三個位元組
[root@localhost ~]# date
2023年08月11日 星期四20:44:52 edt
[root@localhost ~]# date |cut -b 1-4 取前四個位元組
[root@localhost ~]# date |cut -b 1-6
[root@localhost ~]# date |cut -b 1-7 乙個漢字算三個位元組
2023年
[root@localhost ~]# date |cut -b 1-10
2023年08
多個定位之間用逗號隔開:
[root@localhost ~]# date |cut -b 1-7,10
2023年8
[root@localhost ~]# date |cut -b 10,1-7 cut會先把-b後面所有的定位進行從小到大排序,然後再提取
2023年8
負號的使用:
[root@localhost ~]# date |cut -b -4
[root@localhost ~]# date |cut -b 4-
1年08月11日 星期四21:05:30 edt
[root@localhost ~]# date |cut -b -4,4-
2023年08月11日 星期四21:06:53 edt
-4表示從第乙個位元組到第四個位元組,而4-表示從第四個位元組到行尾。這兩種情況下,都包括了第4個位元組「1」。如果我執行date |cut -b -4,4-,會輸出整行,不會出現連續兩個重疊的1
二,按字元cut:
按字元cut相對比較簡單,中文字元和空格都算乙個字元。
[root@localhost ~]# date |cut -c 1-5
2023年
[root@localhost ~]# date |cut -c 5,9,13
年月日三、按域cut
以/etc/passwd檔案為例:
[root@localhost ~]# head -n5 /etc/passwd |cut -d : -f 1,3-5
-n5顯示前5行,以:擷取,剪出1、3、4、5四個域,從1開始
root:0:0:root
bin:1:1:bin
daemon:2:2:daemon
adm:3:4:adm
lp:4:7:lp
-d指定域分隔符,-f 指定要剪出哪幾個域,這個與awk的輸出特定字段功能一樣。
-d選項的預設間隔符就是製表符,所以當你就是要使用製表符的時候,完全就可以省略-d選項,而直接用-f來取域就可以了
如何分的清空格和製表符?
[root@localhost ~]# cat test 這個檔案各單詞間存在單個空格、製表符和多個空格
data11【單個空格 】data12 【製表符】data13
data21【多個空格】data22【單個空格】data23
data31 【單個空格 】data32 【 多個空格data33
[root@localhost ~]# sed -n l test 用sed命令可以讓製表符原形畢露~
data11 data12\tdata13$
data21 data22 data23$
data31 data32 data33$
[root@localhost ~]# cat test |cut -f 2
data13
data21 data22 data23
data31 data32 data33
[root@localhost ~]# cat test |cut -d " " -f 2 cut的間隔符只允許是乙個字元
cut: the delimiter must be a single character
請嘗試執行「cut --help」來獲取更多資訊。
[root@localhost ~]# cat test |cut -d " " -f 2
data12 data13 中間那個空白字元是製表符
第乙個空格後面還是空格,所以輸出空格
data32 單個空格後面就是data32
cut命令學習
一 定義 正如其名,cut的工作就是 剪 具體的說就是在檔案中負責剪下資料用的。cut是以每一行為乙個處理物件的,這種機制和sed是一樣的。2 剪下依據 cut命令主要是接受三個定位方法 第一,位元組 bytes 用選項 b 第二,字元 characters 用選項 c 第三,域 fields 用選...
cut命令學習
一 定義 正如其名,cut的工作就是 剪 具體的說就是在檔案中負責剪下資料用的。cut是以每一行為乙個處理物件的,這種機制和sed是一樣的。2 剪下依據 cut命令主要是接受三個定位方法 第一,位元組 bytes 用選項 b 第二,字元 characters 用選項 c 第三,域 fields 用選...
linux命令學習之cut
cut命令也是linux下最常用的命令之一。正如其名,cut的工作就是 剪 具體的說就是在檔案中負責剪下資料用的。cut是以每一行為乙個處理物件的,這種機制和sed是一樣的。cut命令的剪下度量有三種 按位元組剪下 b byte 按字元剪下 c character 按域剪下 f field 按域剪下...