用法:cut -d 「:」-f2 檔案
-c 以字元為單位進行分割
-d 分隔符,後面用引號引住分隔符
-f 與-d 連用,指定顯示那個區域
例項1-1
[root@jz ~]# cat a.txt
12 34 56 78 9
[root@jz ~]# cut -c 1-5 a.txt 《==擷取a.txt檔案第1到5個字元
12 34
[root@jz ~]# cut -d " " -f 2 a.txt 《==以空格為分隔符,取第二列內容。
用法:awk [options] 『』 file
-f 指定字段分隔符
nr 表示行號
$0 表示這一行的內容
$1 數字 某一列
$nf 最後一列
例項1-2
[root@jz ~]# ifconfig eth0 《==創造環境
eth0 link encap:ethernet hwaddr 00:0c:29:e8:64:67
inet addr:10.0.0.7 bcast:10.0.0.255 mask:255.255.255.0
inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global
inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link
up broadcast running multicast mtu:1500 metric:1
rx packets:214880 errors:0 dropped:0 overruns:0 frame:0
tx packets:54012 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:213540025 (203.6 mib) tx bytes:6069350 (5.7 mib)
過濾出hwaddr字元所在地行
[root@jz ~]# ifconfig eth0|awk '/hwaddr/'
eth0 link encap:ethernet hwaddr 00:0c:29:e8:64:67
過濾出第3行到第5行,並列印行號
[root@jz ~]# ifconfig eth0|awk 'nr==3,nr==5'
3 inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global
4 inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link
5 up broadcast running multicast mtu:1500 metric:1
方法2:
[root@jz ~]# ifconfig eth0|awk 'nr>2&&nr<6'
3 inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global
4 inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link
5 up broadcast running multicast mtu:1500 metric:1
列印全文行號
[root@jz ~]# ifconfig eth0|awk ''
1 eth0 link encap:ethernet hwaddr 00:0c:29:e8:64:67
2 inet addr:10.0.0.7 bcast:10.0.0.255 mask:255.255.255.0
3 inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global
4 inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link
5 up broadcast running multicast mtu:1500 metric:1
6 rx packets:215517 errors:0 dropped:0 overruns:0 frame:0
7 tx packets:54325 errors:0 dropped:0 overruns:0 carrier:0
8 collisions:0 txqueuelen:1000
9 rx bytes:213599924 (203.7 mib) tx bytes:6108480 (5.8 mib)
[root@jz ~]# ifconfig eth0|awk -f '[: ]+' ''|awk 'nr==2'
10.0.0.7
[root@jz ~]# ifconfig eth0|awk -f '[: ]+' 'nr==2'
10.0.0.7
[root@jz ~]# ifconfig eth0|awk -f '[: ]+' 'nr>1&&nr<3'
10.0.0.7
[root@jz ~]# ifconfig eth0|grep '10.0.0.7'|awk -f '[ :]+' ''
10.0.0.7
[root@jz ~]# ifconfig eth0|sed -n 2p|awk -f '[ :]+' ''
10.0.0.7
[root@jz ~]# ifconfig eth0|sed -nr '2s#^.*r:(.*) b.*$#\1#gp'
10.0.0.7
[root@jz ~]# ifconfig eth0|awk 'nr==2'|cut -d ':' -f 2|cut -d ' ' -f 1
10.0.0.7
[root@jz ~]# ifconfig eth0|awk '/inet addr.*/'|awk -f '[: ]+' ''
10.0.0.7
AWK簡單使用
awk 選項 處理命令 檔名 f 指定分隔符 print awk f etc passwd nr number ofrecord 列印行號 nf number of field 列印字段個數 awk f etc passwd 列印每一行的行號 awk f etc passwd 列印有多少個字段 aw...
Cut用法 和 awk的相關區別
b 以位元組為單位進行分割。這些位元組位置將忽略多位元組字元邊界,除非也指定了 n 標誌。c 以字元為單位進行分割。d 自定義分隔符,預設為製表符。f 與 d一起使用,指定顯示哪個區域。n 取消分割多位元組字元。僅和 b 標誌一起使用。如果字元的最後乙個位元組落在由 b 標誌的 list 引數指示的...
awk 使用高階及使用案例
chen localhost in shell 18 36 13 awk v num 3 f passwd33 3333 注意 awk中呼叫定義的變數不需要加 chen localhost in shell 18 37 04 awk v num 3 f passwd01 23561.3.1.概述 1...