按照國際慣例先來理論的介紹。
cut是在linux裡非常常用的乙個命令,cut命令是乙個選取命令,其功能是將檔案中的每一行」位元組」 」字元」 」字段」 進行剪下,選取我們需要的,並將這些選取好的資料輸出至標準輸出。執行過程:選取命令通常是針對一行一行的資料來進行分析的, 並不是整篇資訊分析。
使用時的一般格式:
cut -[n]b file
cut -c file
cut -d[分隔符] -f[域] file素材:
[root@localhost shell]# cat test1.txt
557adfhg
bcd5464b
135465453456
233546576[root@localhost shell]# cat test2.txt
星期一星期二
星期三星期四
星期五星期六
星期日以位元組為單位進行分割。這些位元組位置將忽略多位元組字元邊界,除非也指定了 -n 標誌。切txt中的每一行的第乙個位元組:
[root@localhost shell]# cut -b 1 test1.txt 5b
12剪下多個字元有很多方式,
如 -b 1,3,5 //剪下每一行第 1 3 5個字元 (示例1)
如 -b 1-5 //剪下每一行第 1-5 個字元 (示例2)
如 -b -5 //剪下每一行第 1-5 個字元 (示例3)
如 -b 3- //剪下每一行第 3個字元以後的 (示例4)
[root@localhost shell]# cut -b 1,3,5 test1.txt
57dbd4
156234
[root@localhost shell]# cut -b 1-5 test1.txt
557ad
bcd54
13546
23354
[root@localhost shell]# cut -b -5 test1.txt
557ad
bcd54
13546
23354
[root@localhost shell]# cut -b 3- test1.txt
7adfhg
d5464b
5465453456
3546576首先按照上面的例子對test2.txt進行操作出現了亂碼的現象,因為-b 只是針對位元組進行裁剪,對乙個漢字進行位元組裁剪,得到的結果必然是亂碼,若想使用 -b 命令對位元組進行裁剪,那麼則需要使用 -n 選項,此選項的作用是取消分割多位元組字元。
[root@localhost shell]# cut -nb 3 test2.txt 星星
星星星星
[root@localhost shell]# cut -nb 3,6 test2.txt 星星期
星期星期
星期星期
星期[root@localhost shell]# cut -nb 3,6,9 test2.txt
星期星期二
星期三星期四
星期五星期六
星期日[root@localhost shell]# cut -nb 3,6,9,12 test2.txt
星期一星期二
星期三星期四
星期五星期六
星期日-c的作用就是剪下字元,和上面的 -nb 有些類似:
[root@localhost shell]# cut -c 1 test2.txt 星星
星星星星
[root@localhost shell]# cut -c 2 test2.txt 星期
期期期期
期[root@localhost shell]# cut -c 1-3 test2.txt
星期星期二
星期三星期四
星期五星期六
星期日上面的-b -c 只是針對於格式固定的資料中剪下,但是對於一些格式不固定的,就沒有辦法獲取到我們想要的資料,因此便有了 -f 域的概念。字元給剪下出來,那麼我們就可以使用 -d 命令,指定其分割符為 : 然後再選取第乙個域內的內容即可,如下:
[root@localhost shell]# cat /etc/passwd | head -n 3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@localhost shell]# cat /etc/passwd | head -n 3 | cut -d : -f 1
root
bindaemon
shell中常用的命令 cut命令
cut命令通常用來擷取 引數 說明 c 指定擷取字元的位置 d指定分隔符 f指定要擷取的列 cp etc passwd cut d f 1 passwd 以 為分隔符 擷取passwd檔案第一列的內容 cut d f 1,3 passwd 以 為分隔符 擷取passwd檔案第一列和第三列的內容 cu...
shell 指令碼中常用的命令
1.顯示當前的ip ifconfig eth0 grep bcast awk f cut d f 1 2.查詢檔案裡是否含有某些字段 grep test test.txt 3.前乙個命令正確列印出來的是0 echo 4.判斷某個目錄是否存在,不存在則建立 if d test then mkdir t...
shell指令碼中常用的命令
一,shell指令碼中常用命令 1,diff命令 diff命令是以逐行的方式,比較文字檔案的異同處。如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同檔名的檔案,而不會對其子目錄檔案進行任何比較操作。使用規則 diff options target1 target2 diff file1 fi...